@shopvirge/shopvirge-client 0.5.0 → 0.6.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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/generated/core/ApiError.ts","../src/api/generated/core/CancelablePromise.ts","../src/api/generated/core/OpenAPI.ts","../src/api/generated/schemas.gen.ts","../src/api/generated/core/request.ts","../src/api/generated/services.gen.ts"],"sourcesContent":["import type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n public readonly url: string;\n public readonly status: number;\n public readonly statusText: string;\n public readonly body: unknown;\n public readonly request: ApiRequestOptions;\n\n constructor(\n request: ApiRequestOptions,\n response: ApiResult,\n message: string,\n ) {\n super(message);\n\n this.name = 'ApiError';\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.body = response.body;\n this.request = request;\n }\n}\n","export class CancelError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'CancelError';\n }\n\n public get isCancelled(): boolean {\n return true;\n }\n}\n\nexport interface OnCancel {\n readonly isResolved: boolean;\n readonly isRejected: boolean;\n readonly isCancelled: boolean;\n\n (cancelHandler: () => void): void;\n}\n\nexport class CancelablePromise<T> implements Promise<T> {\n private _isResolved: boolean;\n private _isRejected: boolean;\n private _isCancelled: boolean;\n readonly cancelHandlers: (() => void)[];\n readonly promise: Promise<T>;\n private _resolve?: (value: T | PromiseLike<T>) => void;\n private _reject?: (reason?: unknown) => void;\n\n constructor(\n executor: (\n resolve: (value: T | PromiseLike<T>) => void,\n reject: (reason?: unknown) => void,\n onCancel: OnCancel,\n ) => void,\n ) {\n this._isResolved = false;\n this._isRejected = false;\n this._isCancelled = false;\n this.cancelHandlers = [];\n this.promise = new Promise<T>((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n\n const onResolve = (value: T | PromiseLike<T>): void => {\n if (this._isResolved || this._isRejected || this._isCancelled) {\n return;\n }\n this._isResolved = true;\n if (this._resolve) this._resolve(value);\n };\n\n const onReject = (reason?: unknown): void => {\n if (this._isResolved || this._isRejected || this._isCancelled) {\n return;\n }\n this._isRejected = true;\n if (this._reject) this._reject(reason);\n };\n\n const onCancel = (cancelHandler: () => void): void => {\n if (this._isResolved || this._isRejected || this._isCancelled) {\n return;\n }\n this.cancelHandlers.push(cancelHandler);\n };\n\n Object.defineProperty(onCancel, 'isResolved', {\n get: (): boolean => this._isResolved,\n });\n\n Object.defineProperty(onCancel, 'isRejected', {\n get: (): boolean => this._isRejected,\n });\n\n Object.defineProperty(onCancel, 'isCancelled', {\n get: (): boolean => this._isCancelled,\n });\n\n return executor(onResolve, onReject, onCancel as OnCancel);\n });\n }\n\n get [Symbol.toStringTag]() {\n return 'Cancellable Promise';\n }\n\n public then<TResult1 = T, TResult2 = never>(\n onFulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,\n onRejected?:\n ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null,\n ): Promise<TResult1 | TResult2> {\n return this.promise.then(onFulfilled, onRejected);\n }\n\n public catch<TResult = never>(\n onRejected?:\n ((reason: unknown) => TResult | PromiseLike<TResult>) | null,\n ): Promise<T | TResult> {\n return this.promise.catch(onRejected);\n }\n\n public finally(onFinally?: (() => void) | null): Promise<T> {\n return this.promise.finally(onFinally);\n }\n\n public cancel(): void {\n if (this._isResolved || this._isRejected || this._isCancelled) {\n return;\n }\n this._isCancelled = true;\n if (this.cancelHandlers.length) {\n try {\n for (const cancelHandler of this.cancelHandlers) {\n cancelHandler();\n }\n } catch (error) {\n console.warn('Cancellation threw an error', error);\n return;\n }\n }\n this.cancelHandlers.length = 0;\n if (this._reject) this._reject(new CancelError('Request aborted'));\n }\n\n public get isCancelled(): boolean {\n return this._isCancelled;\n }\n}\n","import type { ApiRequestOptions } from './ApiRequestOptions';\n\ntype Headers = Record<string, string>;\ntype Middleware<T> = (value: T) => T | Promise<T>;\ntype Resolver<T> = (options: ApiRequestOptions) => Promise<T>;\n\nexport class Interceptors<T> {\n _fns: Middleware<T>[];\n\n constructor() {\n this._fns = [];\n }\n\n eject(fn: Middleware<T>): void {\n const index = this._fns.indexOf(fn);\n if (index !== -1) {\n this._fns = [\n ...this._fns.slice(0, index),\n ...this._fns.slice(index + 1),\n ];\n }\n }\n\n use(fn: Middleware<T>): void {\n this._fns = [...this._fns, fn];\n }\n}\n\nexport type OpenAPIConfig = {\n BASE: string;\n CREDENTIALS: 'include' | 'omit' | 'same-origin';\n ENCODE_PATH?: ((path: string) => string) | undefined;\n HEADERS?: Headers | Resolver<Headers> | undefined;\n PASSWORD?: string | Resolver<string> | undefined;\n TOKEN?: string | Resolver<string> | undefined;\n USERNAME?: string | Resolver<string> | undefined;\n VERSION: string;\n WITH_CREDENTIALS: boolean;\n interceptors: {\n request: Interceptors<RequestInit>;\n response: Interceptors<Response>;\n };\n};\n\nexport const OpenAPI: OpenAPIConfig = {\n BASE: '',\n CREDENTIALS: 'include',\n ENCODE_PATH: undefined,\n HEADERS: undefined,\n PASSWORD: undefined,\n TOKEN: undefined,\n USERNAME: undefined,\n VERSION: '0.5.0',\n WITH_CREDENTIALS: false,\n interceptors: {\n request: new Interceptors(),\n response: new Interceptors(),\n },\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nexport const $AccountCreate = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n details: {\n additionalProperties: true,\n type: 'object',\n title: 'Details',\n },\n },\n type: 'object',\n required: ['shop_id', 'name', 'details'],\n title: 'AccountCreate',\n} as const;\n\nexport const $AccountSchema = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n details: {\n additionalProperties: true,\n type: 'object',\n title: 'Details',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: ['shop_id', 'name', 'details', 'id'],\n title: 'AccountSchema',\n} as const;\n\nexport const $AccountUpdate = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n details: {\n additionalProperties: true,\n type: 'object',\n title: 'Details',\n },\n },\n type: 'object',\n required: ['shop_id', 'name', 'details'],\n title: 'AccountUpdate',\n} as const;\n\nexport const $AdminAccountSchema = {\n properties: {\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n shop_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shop Id',\n },\n shop_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shop Name',\n },\n name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Name',\n },\n hash_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Hash Name',\n },\n details: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'null',\n },\n ],\n title: 'Details',\n },\n stripe_customer_id: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Stripe Customer Id',\n },\n stripe_synced_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Stripe Synced At',\n },\n },\n type: 'object',\n required: ['id'],\n title: 'AdminAccountSchema',\n} as const;\n\nexport const $ApiKeyCreate = {\n properties: {\n name: {\n type: 'string',\n title: 'Name',\n },\n },\n type: 'object',\n required: ['name'],\n title: 'ApiKeyCreate',\n} as const;\n\nexport const $ApiKeyCreated = {\n properties: {\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n prefix: {\n type: 'string',\n title: 'Prefix',\n },\n created_at: {\n type: 'string',\n format: 'date-time',\n title: 'Created At',\n },\n last_used_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Last Used At',\n },\n revoked_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Revoked At',\n },\n plaintext: {\n type: 'string',\n title: 'Plaintext',\n },\n },\n type: 'object',\n required: ['id', 'name', 'prefix', 'created_at', 'plaintext'],\n title: 'ApiKeyCreated',\n description:\n 'Response from minting a key. ``plaintext`` is shown ONCE — never again.',\n} as const;\n\nexport const $ApiKeyRead = {\n properties: {\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n prefix: {\n type: 'string',\n title: 'Prefix',\n },\n created_at: {\n type: 'string',\n format: 'date-time',\n title: 'Created At',\n },\n last_used_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Last Used At',\n },\n revoked_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Revoked At',\n },\n },\n type: 'object',\n required: ['id', 'name', 'prefix', 'created_at'],\n title: 'ApiKeyRead',\n} as const;\n\nexport const $AttributeCreate = {\n properties: {\n name: {\n type: 'string',\n title: 'Name',\n },\n unit: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Unit',\n },\n translation: {\n anyOf: [\n {\n $ref: '#/components/schemas/AttributeTranslationBase',\n },\n {\n type: 'null',\n },\n ],\n },\n },\n type: 'object',\n required: ['name'],\n title: 'AttributeCreate',\n} as const;\n\nexport const $AttributeOptionCreate = {\n properties: {\n attribute_id: {\n type: 'string',\n format: 'uuid',\n title: 'Attribute Id',\n },\n value_key: {\n type: 'string',\n title: 'Value Key',\n },\n },\n type: 'object',\n required: ['attribute_id', 'value_key'],\n title: 'AttributeOptionCreate',\n} as const;\n\nexport const $AttributeOptionSchema = {\n properties: {\n attribute_id: {\n type: 'string',\n format: 'uuid',\n title: 'Attribute Id',\n },\n value_key: {\n type: 'string',\n title: 'Value Key',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: ['attribute_id', 'value_key', 'id'],\n title: 'AttributeOptionSchema',\n} as const;\n\nexport const $AttributeOptionUpdate = {\n properties: {\n value_key: {\n type: 'string',\n title: 'Value Key',\n },\n },\n type: 'object',\n required: ['value_key'],\n title: 'AttributeOptionUpdate',\n} as const;\n\nexport const $AttributeSchema = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n unit: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Unit',\n },\n translation: {\n anyOf: [\n {\n $ref: '#/components/schemas/AttributeTranslationBase',\n },\n {\n type: 'null',\n },\n ],\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: ['shop_id', 'name', 'id'],\n title: 'AttributeSchema',\n} as const;\n\nexport const $AttributeTranslationBase = {\n properties: {\n main_name: {\n type: 'string',\n title: 'Main Name',\n },\n alt1_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Name',\n },\n alt2_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Name',\n },\n },\n type: 'object',\n required: ['main_name'],\n title: 'AttributeTranslationBase',\n} as const;\n\nexport const $AttributeUpdate = {\n properties: {\n name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Name',\n },\n unit: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Unit',\n },\n translation: {\n anyOf: [\n {\n $ref: '#/components/schemas/AttributeTranslationBase',\n },\n {\n type: 'null',\n },\n ],\n },\n },\n type: 'object',\n title: 'AttributeUpdate',\n} as const;\n\nexport const $AttributeWithOptionsSchema = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n unit: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Unit',\n },\n translation: {\n anyOf: [\n {\n $ref: '#/components/schemas/AttributeTranslationBase',\n },\n {\n type: 'null',\n },\n ],\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n options: {\n items: {\n $ref: '#/components/schemas/AttributeOptionSchema',\n },\n type: 'array',\n title: 'Options',\n default: [],\n },\n },\n type: 'object',\n required: ['shop_id', 'name', 'id'],\n title: 'AttributeWithOptionsSchema',\n} as const;\n\nexport const $AvailableAttributeSchema = {\n properties: {\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n unit: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Unit',\n },\n translation: {\n anyOf: [\n {\n $ref: '#/components/schemas/AttributeTranslationBase',\n },\n {\n type: 'null',\n },\n ],\n },\n options: {\n items: {\n $ref: '#/components/schemas/AvailableOptionSchema',\n },\n type: 'array',\n title: 'Options',\n default: [],\n },\n },\n type: 'object',\n required: ['id', 'name'],\n title: 'AvailableAttributeSchema',\n} as const;\n\nexport const $AvailableOptionSchema = {\n properties: {\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n value_key: {\n type: 'string',\n title: 'Value Key',\n },\n product_count: {\n type: 'integer',\n title: 'Product Count',\n },\n },\n type: 'object',\n required: ['id', 'value_key', 'product_count'],\n title: 'AvailableOptionSchema',\n} as const;\n\nexport const $Cart = {\n properties: {\n products: {\n items: {\n type: 'string',\n format: 'uuid',\n },\n type: 'array',\n title: 'Products',\n },\n },\n type: 'object',\n required: ['products'],\n title: 'Cart',\n} as const;\n\nexport const $CategoryCreate = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n color: {\n type: 'string',\n title: 'Color',\n },\n icon: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Icon',\n },\n order_number: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Order Number',\n },\n translation: {\n $ref: '#/components/schemas/CategoryTranslationBase',\n },\n main_image: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Main Image',\n },\n alt1_image: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Image',\n },\n alt2_image: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Image',\n },\n },\n type: 'object',\n required: ['shop_id', 'color', 'translation'],\n title: 'CategoryCreate',\n} as const;\n\nexport const $CategoryImageDelete = {\n properties: {\n image: {\n type: 'string',\n title: 'Image',\n },\n },\n type: 'object',\n required: ['image'],\n title: 'CategoryImageDelete',\n} as const;\n\nexport const $CategorySchema = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n color: {\n type: 'string',\n title: 'Color',\n },\n icon: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Icon',\n },\n order_number: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Order Number',\n },\n translation: {\n $ref: '#/components/schemas/CategoryTranslationBase',\n },\n main_image: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Main Image',\n },\n alt1_image: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Image',\n },\n alt2_image: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Image',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: ['shop_id', 'color', 'translation', 'id'],\n title: 'CategorySchema',\n} as const;\n\nexport const $CategoryTranslationBase = {\n properties: {\n main_name: {\n type: 'string',\n title: 'Main Name',\n },\n main_description: {\n type: 'string',\n title: 'Main Description',\n },\n alt1_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Name',\n },\n alt1_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Description',\n },\n alt2_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Name',\n },\n alt2_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Description',\n },\n },\n type: 'object',\n required: ['main_name', 'main_description'],\n title: 'CategoryTranslationBase',\n} as const;\n\nexport const $CategoryTranslationUpdate = {\n properties: {\n main_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Main Name',\n },\n main_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Main Description',\n },\n alt1_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Name',\n },\n alt1_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Description',\n },\n alt2_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Name',\n },\n alt2_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Description',\n },\n },\n type: 'object',\n title: 'CategoryTranslationUpdate',\n} as const;\n\nexport const $CategoryUpdate = {\n properties: {\n shop_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shop Id',\n },\n color: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Color',\n },\n icon: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Icon',\n },\n order_number: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Order Number',\n },\n translation: {\n anyOf: [\n {\n $ref: '#/components/schemas/CategoryTranslationUpdate',\n },\n {\n type: 'null',\n },\n ],\n },\n main_image: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Main Image',\n },\n alt1_image: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Image',\n },\n alt2_image: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Image',\n },\n },\n type: 'object',\n title: 'CategoryUpdate',\n} as const;\n\nexport const $ConfigurationContact = {\n properties: {\n company: {\n type: 'string',\n title: 'Company',\n },\n website: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Website',\n },\n phone: {\n type: 'string',\n maxLength: 64,\n minLength: 7,\n format: 'phone',\n title: 'Phone',\n },\n email: {\n type: 'string',\n format: 'email',\n title: 'Email',\n },\n address: {\n type: 'string',\n title: 'Address',\n },\n zip_code: {\n type: 'string',\n title: 'Zip Code',\n },\n city: {\n type: 'string',\n title: 'City',\n },\n twitter: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Twitter',\n },\n facebook: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Facebook',\n },\n instagram: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Instagram',\n },\n linkedin: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Linkedin',\n },\n tiktok: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Tiktok',\n },\n },\n type: 'object',\n required: ['company', 'phone', 'email', 'address', 'zip_code', 'city'],\n title: 'ConfigurationContact',\n} as const;\n\nexport const $ConfigurationLanguageFieldMenuItems = {\n properties: {\n about: {\n type: 'string',\n title: 'About',\n },\n cart: {\n type: 'string',\n title: 'Cart',\n },\n checkout: {\n type: 'string',\n title: 'Checkout',\n },\n products: {\n type: 'string',\n title: 'Products',\n },\n contact: {\n type: 'string',\n title: 'Contact',\n },\n policies: {\n type: 'string',\n title: 'Policies',\n },\n terms: {\n type: 'string',\n title: 'Terms',\n },\n privacy_policy: {\n type: 'string',\n title: 'Privacy Policy',\n },\n return_policy: {\n type: 'string',\n title: 'Return Policy',\n },\n website: {\n type: 'string',\n title: 'Website',\n },\n phone: {\n type: 'string',\n title: 'Phone',\n },\n email: {\n type: 'string',\n title: 'Email',\n },\n address: {\n type: 'string',\n title: 'Address',\n },\n },\n type: 'object',\n required: [\n 'about',\n 'cart',\n 'checkout',\n 'products',\n 'contact',\n 'policies',\n 'terms',\n 'privacy_policy',\n 'return_policy',\n 'website',\n 'phone',\n 'email',\n 'address',\n ],\n title: 'ConfigurationLanguageFieldMenuItems',\n} as const;\n\nexport const $ConfigurationLanguageFieldStaticTexts = {\n properties: {\n about: {\n type: 'string',\n title: 'About',\n },\n terms: {\n type: 'string',\n title: 'Terms',\n },\n privacy_policy: {\n type: 'string',\n title: 'Privacy Policy',\n },\n return_policy: {\n type: 'string',\n title: 'Return Policy',\n },\n },\n type: 'object',\n required: ['about', 'terms', 'privacy_policy', 'return_policy'],\n title: 'ConfigurationLanguageFieldStaticTexts',\n} as const;\n\nexport const $ConfigurationLanguageFields = {\n properties: {\n language_name: {\n type: 'string',\n title: 'Language Name',\n },\n menu_items: {\n $ref: '#/components/schemas/ConfigurationLanguageFieldMenuItems',\n },\n static_texts: {\n $ref: '#/components/schemas/ConfigurationLanguageFieldStaticTexts',\n },\n },\n type: 'object',\n required: ['language_name', 'menu_items', 'static_texts'],\n title: 'ConfigurationLanguageFields',\n} as const;\n\nexport const $ConfigurationLanguages = {\n properties: {\n main: {\n $ref: '#/components/schemas/ConfigurationLanguageFields',\n },\n alt1: {\n anyOf: [\n {\n $ref: '#/components/schemas/ConfigurationLanguageFields',\n },\n {\n type: 'null',\n },\n ],\n },\n alt2: {\n anyOf: [\n {\n $ref: '#/components/schemas/ConfigurationLanguageFields',\n },\n {\n type: 'null',\n },\n ],\n },\n },\n type: 'object',\n required: ['main'],\n title: 'ConfigurationLanguages',\n} as const;\n\nexport const $ConfigurationLegal = {\n properties: {\n kvk_number: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Kvk Number',\n },\n btw_number: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Btw Number',\n },\n },\n type: 'object',\n title: 'ConfigurationLegal',\n} as const;\n\nexport const $ConfigurationOrderStatusMails = {\n properties: {\n owner_notification_enabled: {\n type: 'boolean',\n title: 'Owner Notification Enabled',\n default: true,\n },\n owner_notification_email: {\n anyOf: [\n {\n type: 'string',\n format: 'email',\n },\n {\n type: 'null',\n },\n ],\n title: 'Owner Notification Email',\n },\n copy_enabled: {\n type: 'boolean',\n title: 'Copy Enabled',\n default: false,\n },\n copy_email: {\n anyOf: [\n {\n type: 'string',\n format: 'email',\n },\n {\n type: 'null',\n },\n ],\n title: 'Copy Email',\n },\n },\n type: 'object',\n title: 'ConfigurationOrderStatusMails',\n} as const;\n\nexport const $ConfigurationShipping_Input = {\n properties: {\n enabled: {\n type: 'boolean',\n title: 'Enabled',\n default: false,\n },\n method: {\n type: 'string',\n title: 'Method',\n default: 'fixed',\n },\n fixed_fee: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Fixed Fee',\n default: '0',\n },\n vat_calculation_enabled: {\n type: 'boolean',\n title: 'Vat Calculation Enabled',\n default: true,\n },\n free_shipping_above_enabled: {\n type: 'boolean',\n title: 'Free Shipping Above Enabled',\n default: false,\n },\n free_shipping_above_amount: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Free Shipping Above Amount',\n default: '0',\n },\n },\n type: 'object',\n title: 'ConfigurationShipping',\n} as const;\n\nexport const $ConfigurationShipping_Output = {\n properties: {\n enabled: {\n type: 'boolean',\n title: 'Enabled',\n default: false,\n },\n method: {\n type: 'string',\n title: 'Method',\n default: 'fixed',\n },\n fixed_fee: {\n type: 'number',\n title: 'Fixed Fee',\n default: 0,\n },\n vat_calculation_enabled: {\n type: 'boolean',\n title: 'Vat Calculation Enabled',\n default: true,\n },\n free_shipping_above_enabled: {\n type: 'boolean',\n title: 'Free Shipping Above Enabled',\n default: false,\n },\n free_shipping_above_amount: {\n type: 'number',\n title: 'Free Shipping Above Amount',\n default: 0,\n },\n },\n type: 'object',\n title: 'ConfigurationShipping',\n} as const;\n\nexport const $ConfigurationV1_Input = {\n properties: {\n short_shop_name: {\n type: 'string',\n title: 'Short Shop Name',\n },\n logo: {\n type: 'string',\n title: 'Logo',\n },\n main_banner: {\n type: 'string',\n title: 'Main Banner',\n },\n alt1_banner: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Banner',\n },\n alt2_banner: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Banner',\n },\n gradient_percentage: {\n type: 'integer',\n title: 'Gradient Percentage',\n default: 75,\n },\n languages: {\n $ref: '#/components/schemas/ConfigurationLanguages',\n },\n google_analytics_id: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Google Analytics Id',\n },\n contact: {\n $ref: '#/components/schemas/ConfigurationContact',\n },\n toggles: {\n $ref: '#/components/schemas/Toggles',\n },\n legal: {\n anyOf: [\n {\n $ref: '#/components/schemas/ConfigurationLegal',\n },\n {\n type: 'null',\n },\n ],\n },\n shipping: {\n anyOf: [\n {\n $ref: '#/components/schemas/ConfigurationShipping-Input',\n },\n {\n type: 'null',\n },\n ],\n },\n order_status_mails: {\n anyOf: [\n {\n $ref: '#/components/schemas/ConfigurationOrderStatusMails',\n },\n {\n type: 'null',\n },\n ],\n },\n },\n type: 'object',\n required: [\n 'short_shop_name',\n 'logo',\n 'main_banner',\n 'languages',\n 'contact',\n 'toggles',\n ],\n title: 'ConfigurationV1',\n} as const;\n\nexport const $ConfigurationV1_Output = {\n properties: {\n short_shop_name: {\n type: 'string',\n title: 'Short Shop Name',\n },\n logo: {\n type: 'string',\n title: 'Logo',\n },\n main_banner: {\n type: 'string',\n title: 'Main Banner',\n },\n alt1_banner: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Banner',\n },\n alt2_banner: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Banner',\n },\n gradient_percentage: {\n type: 'integer',\n title: 'Gradient Percentage',\n default: 75,\n },\n languages: {\n $ref: '#/components/schemas/ConfigurationLanguages',\n },\n google_analytics_id: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Google Analytics Id',\n },\n contact: {\n $ref: '#/components/schemas/ConfigurationContact',\n },\n toggles: {\n $ref: '#/components/schemas/Toggles',\n },\n legal: {\n anyOf: [\n {\n $ref: '#/components/schemas/ConfigurationLegal',\n },\n {\n type: 'null',\n },\n ],\n },\n shipping: {\n anyOf: [\n {\n $ref: '#/components/schemas/ConfigurationShipping-Output',\n },\n {\n type: 'null',\n },\n ],\n },\n order_status_mails: {\n anyOf: [\n {\n $ref: '#/components/schemas/ConfigurationOrderStatusMails',\n },\n {\n type: 'null',\n },\n ],\n },\n },\n type: 'object',\n required: [\n 'short_shop_name',\n 'logo',\n 'main_banner',\n 'languages',\n 'contact',\n 'toggles',\n ],\n title: 'ConfigurationV1',\n} as const;\n\nexport const $DefaultPrice = {\n properties: {\n id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Id',\n },\n created_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Created At',\n },\n modified_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Modified At',\n },\n internal_product_id: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Internal Product Id',\n },\n active: {\n anyOf: [\n {\n type: 'boolean',\n },\n {\n type: 'null',\n },\n ],\n title: 'Active',\n },\n new: {\n anyOf: [\n {\n type: 'boolean',\n },\n {\n type: 'null',\n },\n ],\n title: 'New',\n },\n one: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'One',\n },\n two_five: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Two Five',\n },\n five: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Five',\n },\n joint: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Joint',\n },\n piece: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Piece',\n },\n },\n type: 'object',\n title: 'DefaultPrice',\n} as const;\n\nexport const $EarlyAccessCreate = {\n properties: {\n email: {\n type: 'string',\n format: 'email',\n title: 'Email',\n },\n },\n type: 'object',\n required: ['email'],\n title: 'EarlyAccessCreate',\n} as const;\n\nexport const $FaqCreate = {\n properties: {\n question: {\n type: 'string',\n title: 'Question',\n },\n answer: {\n type: 'string',\n title: 'Answer',\n },\n category: {\n type: 'string',\n title: 'Category',\n },\n },\n type: 'object',\n required: ['question', 'answer', 'category'],\n title: 'FaqCreate',\n} as const;\n\nexport const $FaqCreated = {\n properties: {\n question: {\n type: 'string',\n title: 'Question',\n },\n answer: {\n type: 'string',\n title: 'Answer',\n },\n category: {\n type: 'string',\n title: 'Category',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n created_at: {\n type: 'string',\n format: 'date-time',\n title: 'Created At',\n },\n modified_at: {\n type: 'string',\n format: 'date-time',\n title: 'Modified At',\n },\n },\n type: 'object',\n required: [\n 'question',\n 'answer',\n 'category',\n 'id',\n 'created_at',\n 'modified_at',\n ],\n title: 'FaqCreated',\n} as const;\n\nexport const $FaqSchema = {\n properties: {\n question: {\n type: 'string',\n title: 'Question',\n },\n answer: {\n type: 'string',\n title: 'Answer',\n },\n category: {\n type: 'string',\n title: 'Category',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n created_at: {\n type: 'string',\n format: 'date-time',\n title: 'Created At',\n },\n modified_at: {\n type: 'string',\n format: 'date-time',\n title: 'Modified At',\n },\n },\n type: 'object',\n required: [\n 'question',\n 'answer',\n 'category',\n 'id',\n 'created_at',\n 'modified_at',\n ],\n title: 'FaqSchema',\n} as const;\n\nexport const $FaqUpdate = {\n properties: {\n question: {\n type: 'string',\n title: 'Question',\n },\n answer: {\n type: 'string',\n title: 'Answer',\n },\n category: {\n type: 'string',\n title: 'Category',\n },\n },\n type: 'object',\n required: ['question', 'answer', 'category'],\n title: 'FaqUpdate',\n} as const;\n\nexport const $FaqUpdated = {\n properties: {\n question: {\n type: 'string',\n title: 'Question',\n },\n answer: {\n type: 'string',\n title: 'Answer',\n },\n category: {\n type: 'string',\n title: 'Category',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: ['question', 'answer', 'category', 'id'],\n title: 'FaqUpdated',\n} as const;\n\nexport const $HTTPValidationError = {\n properties: {\n detail: {\n items: {\n $ref: '#/components/schemas/ValidationError',\n },\n type: 'array',\n title: 'Detail',\n },\n },\n type: 'object',\n title: 'HTTPValidationError',\n} as const;\n\nexport const $Lang = {\n type: 'string',\n enum: ['main', 'alt1', 'alt2'],\n title: 'Lang',\n description: 'Language options.',\n} as const;\n\nexport const $LicenseCreate = {\n properties: {\n name: {\n type: 'string',\n title: 'Name',\n },\n improviser_user: {\n type: 'string',\n format: 'uuid',\n title: 'Improviser User',\n },\n is_recurring: {\n type: 'boolean',\n title: 'Is Recurring',\n },\n seats: {\n type: 'number',\n title: 'Seats',\n },\n order_id: {\n type: 'string',\n format: 'uuid',\n title: 'Order Id',\n },\n end_date: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'End Date',\n },\n },\n type: 'object',\n required: [\n 'name',\n 'improviser_user',\n 'is_recurring',\n 'seats',\n 'order_id',\n 'end_date',\n ],\n title: 'LicenseCreate',\n} as const;\n\nexport const $LicenseSchema = {\n properties: {\n name: {\n type: 'string',\n title: 'Name',\n },\n improviser_user: {\n type: 'string',\n format: 'uuid',\n title: 'Improviser User',\n },\n is_recurring: {\n type: 'boolean',\n title: 'Is Recurring',\n },\n seats: {\n type: 'number',\n title: 'Seats',\n },\n order_id: {\n type: 'string',\n format: 'uuid',\n title: 'Order Id',\n },\n end_date: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'End Date',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n modified_at: {\n type: 'string',\n format: 'date-time',\n title: 'Modified At',\n },\n created_at: {\n type: 'string',\n format: 'date-time',\n title: 'Created At',\n },\n start_date: {\n type: 'string',\n format: 'date-time',\n title: 'Start Date',\n },\n },\n type: 'object',\n required: [\n 'name',\n 'improviser_user',\n 'is_recurring',\n 'seats',\n 'order_id',\n 'end_date',\n 'id',\n 'modified_at',\n 'created_at',\n 'start_date',\n ],\n title: 'LicenseSchema',\n} as const;\n\nexport const $LicenseUpdate = {\n properties: {\n seats: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Seats',\n },\n end_date: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'End Date',\n },\n },\n type: 'object',\n required: ['seats', 'end_date'],\n title: 'LicenseUpdate',\n} as const;\n\nexport const $LinkStripeBody = {\n properties: {\n stripe_customer_id: {\n type: 'string',\n title: 'Stripe Customer Id',\n },\n },\n type: 'object',\n required: ['stripe_customer_id'],\n title: 'LinkStripeBody',\n} as const;\n\nexport const $MailTestRequest = {\n properties: {\n to: {\n type: 'string',\n format: 'email',\n title: 'To',\n default: 'customer@example.com',\n },\n shop_name: {\n type: 'string',\n title: 'Shop Name',\n default: 'ShopVirge Dev',\n },\n owner_email: {\n anyOf: [\n {\n type: 'string',\n format: 'email',\n },\n {\n type: 'null',\n },\n ],\n title: 'Owner Email',\n },\n },\n type: 'object',\n title: 'MailTestRequest',\n} as const;\n\nexport const $MailTestResponse = {\n properties: {\n sent_to_customer: {\n type: 'string',\n format: 'email',\n title: 'Sent To Customer',\n },\n sent_to_owner: {\n anyOf: [\n {\n type: 'string',\n format: 'email',\n },\n {\n type: 'null',\n },\n ],\n title: 'Sent To Owner',\n },\n customer_order_id: {\n type: 'integer',\n title: 'Customer Order Id',\n },\n },\n type: 'object',\n required: ['sent_to_customer', 'sent_to_owner', 'customer_order_id'],\n title: 'MailTestResponse',\n} as const;\n\nexport const $MyShopsResponse = {\n properties: {\n shops: {\n items: {\n $ref: '#/components/schemas/ShopSchema',\n },\n type: 'array',\n title: 'Shops',\n },\n is_admin: {\n type: 'boolean',\n title: 'Is Admin',\n },\n can_write: {\n type: 'boolean',\n title: 'Can Write',\n },\n },\n type: 'object',\n required: ['shops', 'is_admin', 'can_write'],\n title: 'MyShopsResponse',\n} as const;\n\nexport const $OrderCreate = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n order_info: {\n items: {\n $ref: '#/components/schemas/OrderItemCreate',\n },\n type: 'array',\n title: 'Order Info',\n },\n account_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Account Id',\n },\n account_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Account Name',\n },\n notes: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Notes',\n },\n },\n additionalProperties: false,\n type: 'object',\n required: ['shop_id', 'order_info'],\n title: 'OrderCreate',\n} as const;\n\nexport const $OrderCreated = {\n properties: {\n account_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Account Id',\n },\n total: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Total',\n },\n notes: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Notes',\n },\n customer_order_id: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Customer Order Id',\n },\n status: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Status',\n },\n shipping_fee_inc_btw: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shipping Fee Inc Btw',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n created_at: {\n type: 'string',\n format: 'date-time',\n title: 'Created At',\n },\n completed_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Completed At',\n },\n account_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Account Name',\n },\n },\n type: 'object',\n required: [\n 'total',\n 'notes',\n 'customer_order_id',\n 'status',\n 'id',\n 'created_at',\n 'account_name',\n ],\n title: 'OrderCreated',\n} as const;\n\nexport const $OrderItem_Input = {\n properties: {\n description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Description',\n },\n price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Price',\n },\n product_id: {\n type: 'string',\n format: 'uuid',\n title: 'Product Id',\n },\n product_name: {\n type: 'string',\n title: 'Product Name',\n },\n quantity: {\n type: 'integer',\n title: 'Quantity',\n },\n plan: {\n anyOf: [\n {\n type: 'string',\n enum: ['onetime', 'monthly', 'yearly'],\n },\n {\n type: 'null',\n },\n ],\n title: 'Plan',\n },\n },\n type: 'object',\n required: ['price', 'product_id', 'product_name', 'quantity'],\n title: 'OrderItem',\n} as const;\n\nexport const $OrderItem_Output = {\n properties: {\n description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Description',\n },\n price: {\n type: 'number',\n title: 'Price',\n },\n product_id: {\n type: 'string',\n format: 'uuid',\n title: 'Product Id',\n },\n product_name: {\n type: 'string',\n title: 'Product Name',\n },\n quantity: {\n type: 'integer',\n title: 'Quantity',\n },\n plan: {\n anyOf: [\n {\n type: 'string',\n enum: ['onetime', 'monthly', 'yearly'],\n },\n {\n type: 'null',\n },\n ],\n title: 'Plan',\n },\n },\n type: 'object',\n required: ['price', 'product_id', 'product_name', 'quantity'],\n title: 'OrderItem',\n} as const;\n\nexport const $OrderItemCreate = {\n properties: {\n description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Description',\n },\n product_id: {\n type: 'string',\n format: 'uuid',\n title: 'Product Id',\n },\n product_name: {\n type: 'string',\n title: 'Product Name',\n },\n quantity: {\n type: 'integer',\n title: 'Quantity',\n },\n plan: {\n type: 'string',\n enum: ['onetime', 'monthly', 'yearly'],\n title: 'Plan',\n default: 'onetime',\n },\n },\n additionalProperties: false,\n type: 'object',\n required: ['product_id', 'product_name', 'quantity'],\n title: 'OrderItemCreate',\n} as const;\n\nexport const $OrderQuote = {\n properties: {\n order_info: {\n items: {\n $ref: '#/components/schemas/OrderItem-Output',\n },\n type: 'array',\n title: 'Order Info',\n },\n subtotal: {\n type: 'number',\n title: 'Subtotal',\n },\n shipping_fee_inc_btw: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shipping Fee Inc Btw',\n },\n free_shipping_applied: {\n type: 'boolean',\n title: 'Free Shipping Applied',\n default: false,\n },\n free_shipping_threshold: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Free Shipping Threshold',\n },\n total: {\n type: 'number',\n title: 'Total',\n },\n },\n type: 'object',\n required: ['order_info', 'subtotal', 'total'],\n title: 'OrderQuote',\n} as const;\n\nexport const $OrderQuoteRequest = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n order_info: {\n items: {\n $ref: '#/components/schemas/OrderItemCreate',\n },\n type: 'array',\n title: 'Order Info',\n },\n },\n additionalProperties: false,\n type: 'object',\n required: ['shop_id', 'order_info'],\n title: 'OrderQuoteRequest',\n} as const;\n\nexport const $OrderSchema = {\n properties: {\n account_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Account Id',\n },\n total: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Total',\n },\n notes: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Notes',\n },\n customer_order_id: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Customer Order Id',\n },\n status: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Status',\n },\n shipping_fee_inc_btw: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shipping Fee Inc Btw',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n order_info: {\n items: {\n $ref: '#/components/schemas/OrderItem-Output',\n },\n type: 'array',\n title: 'Order Info',\n },\n created_at: {\n type: 'string',\n format: 'date-time',\n title: 'Created At',\n },\n completed_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Completed At',\n },\n account_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Account Name',\n },\n shop_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shop Name',\n },\n },\n type: 'object',\n required: [\n 'total',\n 'notes',\n 'customer_order_id',\n 'status',\n 'id',\n 'shop_id',\n 'order_info',\n 'created_at',\n 'account_name',\n 'shop_name',\n ],\n title: 'OrderSchema',\n} as const;\n\nexport const $OrderStatusUpdate = {\n properties: {\n status: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Status',\n },\n notes: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Notes',\n },\n },\n additionalProperties: false,\n type: 'object',\n title: 'OrderStatusUpdate',\n} as const;\n\nexport const $OrderUpdated = {\n properties: {\n account_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Account Id',\n },\n total: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Total',\n },\n notes: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Notes',\n },\n customer_order_id: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Customer Order Id',\n },\n status: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Status',\n },\n shipping_fee_inc_btw: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shipping Fee Inc Btw',\n },\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n order_info: {\n items: {\n $ref: '#/components/schemas/OrderItem-Output',\n },\n type: 'array',\n title: 'Order Info',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: [\n 'total',\n 'notes',\n 'customer_order_id',\n 'status',\n 'shop_id',\n 'order_info',\n 'id',\n ],\n title: 'OrderUpdated',\n} as const;\n\nexport const $ProductAttributeItem = {\n properties: {\n attribute_id: {\n type: 'string',\n format: 'uuid',\n title: 'Attribute Id',\n },\n attribute_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Attribute Name',\n },\n option_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Option Id',\n },\n option_value_key: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Option Value Key',\n },\n },\n type: 'object',\n required: ['attribute_id'],\n title: 'ProductAttributeItem',\n description: `Lightweight representation of a product's attribute value used in responses.\n\n- attribute_id: the AttributeTable id\n- attribute_name: translated main_name for display (optional, may be omitted in some endpoints)\n- option_id: the AttributeOptionTable id when the value is an enum option\n- option_value_key: the option key (e.g., \"XS\", \"M\") when applicable`,\n} as const;\n\nexport const $ProductAttributeOptionSelectionAdd = {\n properties: {\n option_ids: {\n items: {\n type: 'string',\n format: 'uuid',\n },\n type: 'array',\n title: 'Option Ids',\n },\n },\n type: 'object',\n required: ['option_ids'],\n title: 'ProductAttributeOptionSelectionAdd',\n description:\n 'Payload for creating or replacing selected attribute options for a product.',\n} as const;\n\nexport const $ProductAttributeOptionSelectionReplace = {\n properties: {\n option_ids: {\n items: {\n type: 'string',\n format: 'uuid',\n },\n type: 'array',\n title: 'Option Ids',\n },\n },\n type: 'object',\n required: ['option_ids'],\n title: 'ProductAttributeOptionSelectionReplace',\n description:\n 'Payload for creating or replacing selected attribute options for a product.',\n} as const;\n\nexport const $ProductAttributeValueBase = {\n properties: {\n product_id: {\n type: 'string',\n format: 'uuid',\n title: 'Product Id',\n },\n attribute_id: {\n type: 'string',\n format: 'uuid',\n title: 'Attribute Id',\n },\n option_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Option Id',\n },\n },\n type: 'object',\n required: ['product_id', 'attribute_id'],\n title: 'ProductAttributeValueBase',\n description: 'Base schema for product attribute values.',\n} as const;\n\nexport const $ProductAttributeValueSchema = {\n properties: {\n product_id: {\n type: 'string',\n format: 'uuid',\n title: 'Product Id',\n },\n attribute_id: {\n type: 'string',\n format: 'uuid',\n title: 'Attribute Id',\n },\n option_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Option Id',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: ['product_id', 'attribute_id', 'id'],\n title: 'ProductAttributeValueSchema',\n description: 'Schema for representing a product attribute value.',\n} as const;\n\nexport const $ProductCreate = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n category_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Category Id',\n },\n price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n {\n type: 'null',\n },\n ],\n title: 'Price',\n description:\n 'Unit price excluding VAT. Gross = price * (1 + tax_category rate).',\n },\n recurring_price_monthly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Monthly',\n },\n recurring_price_yearly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Yearly',\n },\n max_one: {\n type: 'boolean',\n title: 'Max One',\n },\n shippable: {\n type: 'boolean',\n title: 'Shippable',\n },\n digital: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Digital',\n },\n featured: {\n type: 'boolean',\n title: 'Featured',\n },\n new_product: {\n type: 'boolean',\n title: 'New Product',\n },\n tax_category: {\n type: 'string',\n title: 'Tax Category',\n },\n discounted_price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted Price',\n },\n discounted_from: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted From',\n },\n discounted_to: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted To',\n },\n order_number: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Order Number',\n },\n stock: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Stock',\n default: 1,\n },\n sku: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Sku',\n },\n image_1: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 1',\n },\n image_2: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 2',\n },\n image_3: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 3',\n },\n image_4: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 4',\n },\n image_5: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 5',\n },\n image_6: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 6',\n },\n translation: {\n $ref: '#/components/schemas/ProductTranslationCreate',\n },\n },\n type: 'object',\n required: [\n 'shop_id',\n 'max_one',\n 'shippable',\n 'featured',\n 'new_product',\n 'tax_category',\n 'translation',\n ],\n title: 'ProductCreate',\n} as const;\n\nexport const $ProductResponse = {\n properties: {\n id: {\n type: 'string',\n title: 'Id',\n },\n short_id: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Short Id',\n },\n sku: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Sku',\n },\n category: {\n type: 'string',\n title: 'Category',\n },\n category_image: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Category Image',\n },\n category_order_number: {\n type: 'integer',\n title: 'Category Order Number',\n },\n order_number: {\n type: 'integer',\n title: 'Order Number',\n },\n stock: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Stock',\n },\n tags: {\n items: {\n type: 'string',\n },\n type: 'array',\n title: 'Tags',\n default: [],\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n description_short: {\n type: 'string',\n title: 'Description Short',\n },\n description: {\n type: 'string',\n title: 'Description',\n },\n tax_category: {\n type: 'string',\n title: 'Tax Category',\n },\n tax_percentage: {\n type: 'number',\n title: 'Tax Percentage',\n },\n price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Price',\n },\n recurring_price_monthly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Monthly',\n },\n recurring_price_yearly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Yearly',\n },\n max_one: {\n type: 'boolean',\n title: 'Max One',\n },\n shippable: {\n type: 'boolean',\n title: 'Shippable',\n },\n attributes: {\n items: {\n type: 'string',\n },\n type: 'array',\n title: 'Attributes',\n default: [],\n },\n digital: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Digital',\n },\n featured: {\n type: 'boolean',\n title: 'Featured',\n },\n new_product: {\n type: 'boolean',\n title: 'New Product',\n },\n discounted_price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted Price',\n },\n discounted_from: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted From',\n },\n discounted_to: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted To',\n },\n image_1: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 1',\n },\n image_2: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 2',\n },\n image_3: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 3',\n },\n image_4: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 4',\n },\n image_5: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 5',\n },\n image_6: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 6',\n },\n },\n type: 'object',\n required: [\n 'id',\n 'category',\n 'category_order_number',\n 'order_number',\n 'name',\n 'description_short',\n 'description',\n 'tax_category',\n 'tax_percentage',\n 'max_one',\n 'shippable',\n 'featured',\n 'new_product',\n ],\n title: 'ProductResponse',\n} as const;\n\nexport const $ProductToTagCreate = {\n properties: {\n product_id: {\n type: 'string',\n format: 'uuid',\n title: 'Product Id',\n },\n tag_id: {\n type: 'string',\n format: 'uuid',\n title: 'Tag Id',\n },\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n },\n type: 'object',\n required: ['product_id', 'tag_id', 'shop_id'],\n title: 'ProductToTagCreate',\n} as const;\n\nexport const $ProductToTagSchema = {\n properties: {\n product_id: {\n type: 'string',\n format: 'uuid',\n title: 'Product Id',\n },\n tag_id: {\n type: 'string',\n format: 'uuid',\n title: 'Tag Id',\n },\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: ['product_id', 'tag_id', 'shop_id', 'id'],\n title: 'ProductToTagSchema',\n} as const;\n\nexport const $ProductToTagUpdate = {\n properties: {\n product_id: {\n type: 'string',\n format: 'uuid',\n title: 'Product Id',\n },\n tag_id: {\n type: 'string',\n format: 'uuid',\n title: 'Tag Id',\n },\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n },\n type: 'object',\n required: ['product_id', 'tag_id', 'shop_id'],\n title: 'ProductToTagUpdate',\n} as const;\n\nexport const $ProductTranslationBase = {\n properties: {\n main_name: {\n type: 'string',\n title: 'Main Name',\n },\n main_description: {\n type: 'string',\n title: 'Main Description',\n },\n main_description_short: {\n type: 'string',\n title: 'Main Description Short',\n },\n alt1_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Name',\n },\n alt1_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Description',\n },\n alt1_description_short: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Description Short',\n },\n alt2_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Name',\n },\n alt2_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Description',\n },\n alt2_description_short: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Description Short',\n },\n },\n type: 'object',\n required: ['main_name', 'main_description', 'main_description_short'],\n title: 'ProductTranslationBase',\n} as const;\n\nexport const $ProductTranslationCreate = {\n properties: {\n main_name: {\n type: 'string',\n title: 'Main Name',\n },\n main_description: {\n type: 'string',\n title: 'Main Description',\n },\n main_description_short: {\n type: 'string',\n title: 'Main Description Short',\n },\n alt1_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Name',\n },\n alt1_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Description',\n },\n alt1_description_short: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Description Short',\n },\n alt2_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Name',\n },\n alt2_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Description',\n },\n alt2_description_short: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Description Short',\n },\n },\n type: 'object',\n required: ['main_name', 'main_description', 'main_description_short'],\n title: 'ProductTranslationCreate',\n} as const;\n\nexport const $ProductTranslationUpdate = {\n properties: {\n main_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Main Name',\n },\n main_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Main Description',\n },\n main_description_short: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Main Description Short',\n },\n alt1_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Name',\n },\n alt1_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Description',\n },\n alt1_description_short: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Description Short',\n },\n alt2_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Name',\n },\n alt2_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Description',\n },\n alt2_description_short: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Description Short',\n },\n },\n type: 'object',\n title: 'ProductTranslationUpdate',\n} as const;\n\nexport const $ProductUpdate = {\n properties: {\n shop_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shop Id',\n },\n category_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Category Id',\n },\n price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n {\n type: 'null',\n },\n ],\n title: 'Price',\n description:\n 'Unit price excluding VAT. Gross = price * (1 + tax_category rate).',\n },\n recurring_price_monthly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Monthly',\n },\n recurring_price_yearly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Yearly',\n },\n max_one: {\n anyOf: [\n {\n type: 'boolean',\n },\n {\n type: 'null',\n },\n ],\n title: 'Max One',\n },\n shippable: {\n anyOf: [\n {\n type: 'boolean',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shippable',\n },\n digital: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Digital',\n },\n featured: {\n anyOf: [\n {\n type: 'boolean',\n },\n {\n type: 'null',\n },\n ],\n title: 'Featured',\n },\n new_product: {\n anyOf: [\n {\n type: 'boolean',\n },\n {\n type: 'null',\n },\n ],\n title: 'New Product',\n },\n tax_category: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Tax Category',\n },\n discounted_price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted Price',\n },\n discounted_from: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted From',\n },\n discounted_to: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted To',\n },\n order_number: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Order Number',\n },\n stock: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Stock',\n default: 1,\n },\n sku: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Sku',\n },\n image_1: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 1',\n },\n image_2: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 2',\n },\n image_3: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 3',\n },\n image_4: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 4',\n },\n image_5: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 5',\n },\n image_6: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 6',\n },\n translation: {\n anyOf: [\n {\n $ref: '#/components/schemas/ProductTranslationUpdate',\n },\n {\n type: 'null',\n },\n ],\n },\n modified_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Modified At',\n },\n },\n type: 'object',\n title: 'ProductUpdate',\n} as const;\n\nexport const $ProductWithAttributes = {\n properties: {\n product: {\n $ref: '#/components/schemas/ProductWithDefaultPrice',\n },\n attributes: {\n items: {\n $ref: '#/components/schemas/ProductAttributeItem',\n },\n type: 'array',\n title: 'Attributes',\n default: [],\n },\n },\n type: 'object',\n required: ['product'],\n title: 'ProductWithAttributes',\n description: 'Schema for a product along with its associated attributes.',\n} as const;\n\nexport const $ProductWithDefaultPrice = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n category_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Category Id',\n },\n price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Price',\n description:\n 'Unit price excluding VAT. Gross = price * (1 + tax_category rate).',\n },\n recurring_price_monthly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Monthly',\n },\n recurring_price_yearly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Yearly',\n },\n max_one: {\n type: 'boolean',\n title: 'Max One',\n },\n shippable: {\n type: 'boolean',\n title: 'Shippable',\n },\n digital: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Digital',\n },\n featured: {\n type: 'boolean',\n title: 'Featured',\n },\n new_product: {\n type: 'boolean',\n title: 'New Product',\n },\n tax_category: {\n type: 'string',\n title: 'Tax Category',\n },\n discounted_price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted Price',\n },\n discounted_from: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted From',\n },\n discounted_to: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted To',\n },\n order_number: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Order Number',\n },\n stock: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Stock',\n default: 1,\n },\n sku: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Sku',\n },\n image_1: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 1',\n },\n image_2: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 2',\n },\n image_3: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 3',\n },\n image_4: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 4',\n },\n image_5: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 5',\n },\n image_6: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 6',\n },\n translation: {\n $ref: '#/components/schemas/ProductTranslationBase',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n short_id: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Short Id',\n },\n modified_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Modified At',\n },\n approved_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Approved At',\n },\n images_amount: {\n type: 'integer',\n title: 'Images Amount',\n default: 0,\n },\n prices: {\n anyOf: [\n {\n $ref: '#/components/schemas/DefaultPrice',\n },\n {\n type: 'null',\n },\n ],\n default: {},\n },\n },\n type: 'object',\n required: [\n 'shop_id',\n 'max_one',\n 'shippable',\n 'featured',\n 'new_product',\n 'tax_category',\n 'translation',\n 'id',\n ],\n title: 'ProductWithDefaultPrice',\n} as const;\n\nexport const $ProductWithDetailsAndPrices = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n category_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Category Id',\n },\n price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Price',\n description:\n 'Unit price excluding VAT. Gross = price * (1 + tax_category rate).',\n },\n recurring_price_monthly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Monthly',\n },\n recurring_price_yearly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Yearly',\n },\n max_one: {\n type: 'boolean',\n title: 'Max One',\n },\n shippable: {\n type: 'boolean',\n title: 'Shippable',\n },\n digital: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Digital',\n },\n featured: {\n type: 'boolean',\n title: 'Featured',\n },\n new_product: {\n type: 'boolean',\n title: 'New Product',\n },\n tax_category: {\n type: 'string',\n title: 'Tax Category',\n },\n discounted_price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted Price',\n },\n discounted_from: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted From',\n },\n discounted_to: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted To',\n },\n order_number: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Order Number',\n },\n stock: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Stock',\n default: 1,\n },\n sku: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Sku',\n },\n image_1: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 1',\n },\n image_2: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 2',\n },\n image_3: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 3',\n },\n image_4: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 4',\n },\n image_5: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 5',\n },\n image_6: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 6',\n },\n translation: {\n $ref: '#/components/schemas/ProductTranslationBase',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n short_id: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Short Id',\n },\n modified_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Modified At',\n },\n approved_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Approved At',\n },\n images_amount: {\n type: 'integer',\n title: 'Images Amount',\n default: 0,\n },\n prices: {\n items: {\n additionalProperties: true,\n type: 'object',\n },\n type: 'array',\n title: 'Prices',\n default: [],\n },\n },\n type: 'object',\n required: [\n 'shop_id',\n 'max_one',\n 'shippable',\n 'featured',\n 'new_product',\n 'tax_category',\n 'translation',\n 'id',\n ],\n title: 'ProductWithDetailsAndPrices',\n} as const;\n\nexport const $RestoreReport = {\n properties: {\n restored: {\n type: 'boolean',\n title: 'Restored',\n },\n entity_type: {\n type: 'string',\n title: 'Entity Type',\n },\n entity_id: {\n type: 'string',\n format: 'uuid',\n title: 'Entity Id',\n },\n restored_from_revision_no: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Restored From Revision No',\n },\n new_revision_no: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'New Revision No',\n },\n resurrected: {\n items: {\n $ref: '#/components/schemas/ResurrectedEntity',\n },\n type: 'array',\n title: 'Resurrected',\n default: [],\n },\n skipped_fields: {\n items: {\n type: 'string',\n },\n type: 'array',\n title: 'Skipped Fields',\n default: [],\n },\n unresolved: {\n items: {\n $ref: '#/components/schemas/UnresolvedReference',\n },\n type: 'array',\n title: 'Unresolved',\n default: [],\n },\n warnings: {\n items: {\n type: 'string',\n },\n type: 'array',\n title: 'Warnings',\n default: [],\n },\n },\n type: 'object',\n required: ['restored', 'entity_type', 'entity_id'],\n title: 'RestoreReport',\n description:\n \"What a restore actually did — agents should read this to see what didn't come back.\",\n} as const;\n\nexport const $ResurrectedEntity = {\n properties: {\n kind: {\n type: 'string',\n title: 'Kind',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Name',\n },\n },\n type: 'object',\n required: ['kind', 'id'],\n title: 'ResurrectedEntity',\n} as const;\n\nexport const $RevisionDetail = {\n properties: {\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n entity_type: {\n type: 'string',\n title: 'Entity Type',\n },\n entity_id: {\n type: 'string',\n format: 'uuid',\n title: 'Entity Id',\n },\n revision_no: {\n type: 'integer',\n title: 'Revision No',\n },\n action: {\n type: 'string',\n title: 'Action',\n },\n schema_version: {\n type: 'integer',\n title: 'Schema Version',\n },\n created_by: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Created By',\n },\n source: {\n type: 'string',\n title: 'Source',\n },\n created_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Created At',\n },\n name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Name',\n },\n data: {\n additionalProperties: true,\n type: 'object',\n title: 'Data',\n },\n },\n type: 'object',\n required: [\n 'id',\n 'entity_type',\n 'entity_id',\n 'revision_no',\n 'action',\n 'schema_version',\n 'source',\n 'data',\n ],\n title: 'RevisionDetail',\n} as const;\n\nexport const $RevisionSummary = {\n properties: {\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n entity_type: {\n type: 'string',\n title: 'Entity Type',\n },\n entity_id: {\n type: 'string',\n format: 'uuid',\n title: 'Entity Id',\n },\n revision_no: {\n type: 'integer',\n title: 'Revision No',\n },\n action: {\n type: 'string',\n title: 'Action',\n },\n schema_version: {\n type: 'integer',\n title: 'Schema Version',\n },\n created_by: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Created By',\n },\n source: {\n type: 'string',\n title: 'Source',\n },\n created_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Created At',\n },\n name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Name',\n },\n },\n type: 'object',\n required: [\n 'id',\n 'entity_type',\n 'entity_id',\n 'revision_no',\n 'action',\n 'schema_version',\n 'source',\n ],\n title: 'RevisionSummary',\n} as const;\n\nexport const $ShippingCalculateRequest = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n order_info: {\n items: {\n $ref: '#/components/schemas/OrderItem-Input',\n },\n type: 'array',\n title: 'Order Info',\n },\n },\n type: 'object',\n required: ['shop_id', 'order_info'],\n title: 'ShippingCalculateRequest',\n} as const;\n\nexport const $ShippingCalculation = {\n properties: {\n enabled: {\n type: 'boolean',\n title: 'Enabled',\n },\n method: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Method',\n },\n fee_inc_btw: {\n type: 'number',\n title: 'Fee Inc Btw',\n },\n fee_ex_btw: {\n type: 'number',\n title: 'Fee Ex Btw',\n },\n fee_btw: {\n type: 'number',\n title: 'Fee Btw',\n },\n free_shipping_applied: {\n type: 'boolean',\n title: 'Free Shipping Applied',\n },\n free_shipping_threshold: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Free Shipping Threshold',\n },\n lines: {\n items: {\n $ref: '#/components/schemas/ShippingLine',\n },\n type: 'array',\n title: 'Lines',\n },\n },\n type: 'object',\n required: [\n 'enabled',\n 'fee_inc_btw',\n 'fee_ex_btw',\n 'fee_btw',\n 'free_shipping_applied',\n 'lines',\n ],\n title: 'ShippingCalculation',\n} as const;\n\nexport const $ShippingLine = {\n properties: {\n btw_rate: {\n type: 'number',\n title: 'Btw Rate',\n },\n amount_ex_btw: {\n type: 'number',\n title: 'Amount Ex Btw',\n },\n amount_inc_btw: {\n type: 'number',\n title: 'Amount Inc Btw',\n },\n amount_btw: {\n type: 'number',\n title: 'Amount Btw',\n },\n },\n type: 'object',\n required: ['btw_rate', 'amount_ex_btw', 'amount_inc_btw', 'amount_btw'],\n title: 'ShippingLine',\n} as const;\n\nexport const $ShopCacheStatus = {\n properties: {\n modified_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Modified At',\n },\n },\n type: 'object',\n required: ['modified_at'],\n title: 'ShopCacheStatus',\n} as const;\n\nexport const $ShopConfig = {\n properties: {\n config: {\n $ref: '#/components/schemas/ConfigurationV1-Output',\n },\n config_version: {\n type: 'integer',\n title: 'Config Version',\n },\n shop_type: {\n $ref: '#/components/schemas/ShopType',\n },\n stripe_public_key: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Stripe Public Key',\n },\n },\n type: 'object',\n required: ['config', 'config_version', 'shop_type', 'stripe_public_key'],\n title: 'ShopConfig',\n} as const;\n\nexport const $ShopConfigUpdate_Input = {\n properties: {\n config: {\n $ref: '#/components/schemas/ConfigurationV1-Input',\n },\n config_version: {\n type: 'integer',\n title: 'Config Version',\n },\n },\n type: 'object',\n required: ['config', 'config_version'],\n title: 'ShopConfigUpdate',\n} as const;\n\nexport const $ShopConfigUpdate_Output = {\n properties: {\n config: {\n $ref: '#/components/schemas/ConfigurationV1-Output',\n },\n config_version: {\n type: 'integer',\n title: 'Config Version',\n },\n },\n type: 'object',\n required: ['config', 'config_version'],\n title: 'ShopConfigUpdate',\n} as const;\n\nexport const $ShopCreate = {\n properties: {\n name: {\n type: 'string',\n title: 'Name',\n },\n description: {\n type: 'string',\n title: 'Description',\n },\n internal_url: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Internal Url',\n },\n external_url: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'External Url',\n },\n vat_standard: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Standard',\n },\n vat_lower_1: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Lower 1',\n },\n vat_lower_2: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Lower 2',\n },\n vat_lower_3: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Lower 3',\n },\n vat_special: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Special',\n },\n vat_zero: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Zero',\n },\n },\n type: 'object',\n required: [\n 'name',\n 'description',\n 'vat_standard',\n 'vat_lower_1',\n 'vat_lower_2',\n 'vat_lower_3',\n 'vat_special',\n 'vat_zero',\n ],\n title: 'ShopCreate',\n} as const;\n\nexport const $ShopIp = {\n properties: {\n ip: {\n type: 'string',\n title: 'Ip',\n },\n },\n type: 'object',\n required: ['ip'],\n title: 'ShopIp',\n} as const;\n\nexport const $ShopLastCompletedOrder = {\n properties: {\n last_completed_order: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Last Completed Order',\n },\n },\n type: 'object',\n required: ['last_completed_order'],\n title: 'ShopLastCompletedOrder',\n} as const;\n\nexport const $ShopLastPendingOrder = {\n properties: {\n last_pending_order: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Last Pending Order',\n },\n },\n type: 'object',\n required: ['last_pending_order'],\n title: 'ShopLastPendingOrder',\n} as const;\n\nexport const $ShopSchema = {\n properties: {\n name: {\n type: 'string',\n title: 'Name',\n },\n description: {\n type: 'string',\n title: 'Description',\n },\n internal_url: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Internal Url',\n },\n external_url: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'External Url',\n },\n vat_standard: {\n type: 'number',\n title: 'Vat Standard',\n },\n vat_lower_1: {\n type: 'number',\n title: 'Vat Lower 1',\n },\n vat_lower_2: {\n type: 'number',\n title: 'Vat Lower 2',\n },\n vat_lower_3: {\n type: 'number',\n title: 'Vat Lower 3',\n },\n vat_special: {\n type: 'number',\n title: 'Vat Special',\n },\n vat_zero: {\n type: 'number',\n title: 'Vat Zero',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: [\n 'name',\n 'description',\n 'vat_standard',\n 'vat_lower_1',\n 'vat_lower_2',\n 'vat_lower_3',\n 'vat_special',\n 'vat_zero',\n 'id',\n ],\n title: 'ShopSchema',\n} as const;\n\nexport const $ShopType = {\n properties: {\n max_languages: {\n type: 'number',\n title: 'Max Languages',\n },\n max_products: {\n type: 'number',\n title: 'Max Products',\n },\n stripe_access: {\n type: 'boolean',\n title: 'Stripe Access',\n },\n trial_mode: {\n type: 'boolean',\n title: 'Trial Mode',\n },\n trial_started: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Trial Started',\n },\n name: {\n $ref: '#/components/schemas/ShopTypeName',\n },\n },\n type: 'object',\n required: [\n 'max_languages',\n 'max_products',\n 'stripe_access',\n 'trial_mode',\n 'name',\n ],\n title: 'ShopType',\n} as const;\n\nexport const $ShopTypeName = {\n type: 'string',\n enum: ['small', 'business'],\n title: 'ShopTypeName',\n} as const;\n\nexport const $ShopUpdate = {\n properties: {\n name: {\n type: 'string',\n title: 'Name',\n },\n description: {\n type: 'string',\n title: 'Description',\n },\n internal_url: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Internal Url',\n },\n external_url: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'External Url',\n },\n vat_standard: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Standard',\n },\n vat_lower_1: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Lower 1',\n },\n vat_lower_2: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Lower 2',\n },\n vat_lower_3: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Lower 3',\n },\n vat_special: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Special',\n },\n vat_zero: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Zero',\n },\n modified_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Modified At',\n },\n allowed_ips: {\n anyOf: [\n {\n items: {\n type: 'string',\n },\n type: 'array',\n },\n {\n type: 'null',\n },\n ],\n title: 'Allowed Ips',\n },\n },\n type: 'object',\n required: [\n 'name',\n 'description',\n 'vat_standard',\n 'vat_lower_1',\n 'vat_lower_2',\n 'vat_lower_3',\n 'vat_special',\n 'vat_zero',\n 'modified_at',\n ],\n title: 'ShopUpdate',\n} as const;\n\nexport const $ShopWithPrices = {\n properties: {\n name: {\n type: 'string',\n title: 'Name',\n },\n description: {\n type: 'string',\n title: 'Description',\n },\n internal_url: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Internal Url',\n },\n external_url: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'External Url',\n },\n vat_standard: {\n type: 'number',\n title: 'Vat Standard',\n },\n vat_lower_1: {\n type: 'number',\n title: 'Vat Lower 1',\n },\n vat_lower_2: {\n type: 'number',\n title: 'Vat Lower 2',\n },\n vat_lower_3: {\n type: 'number',\n title: 'Vat Lower 3',\n },\n vat_special: {\n type: 'number',\n title: 'Vat Special',\n },\n vat_zero: {\n type: 'number',\n title: 'Vat Zero',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: [\n 'name',\n 'description',\n 'vat_standard',\n 'vat_lower_1',\n 'vat_lower_2',\n 'vat_lower_3',\n 'vat_special',\n 'vat_zero',\n 'id',\n ],\n title: 'ShopWithPrices',\n} as const;\n\nexport const $SyncStripeResponse = {\n properties: {\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n stripe_customer_id: {\n type: 'string',\n title: 'Stripe Customer Id',\n },\n stripe_synced_at: {\n type: 'string',\n format: 'date-time',\n title: 'Stripe Synced At',\n },\n stripe_customer: {\n additionalProperties: true,\n type: 'object',\n title: 'Stripe Customer',\n },\n },\n type: 'object',\n required: [\n 'id',\n 'stripe_customer_id',\n 'stripe_synced_at',\n 'stripe_customer',\n ],\n title: 'SyncStripeResponse',\n} as const;\n\nexport const $TagCreate = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n translation: {\n $ref: '#/components/schemas/TagTranslationBase',\n },\n },\n type: 'object',\n required: ['shop_id', 'name', 'translation'],\n title: 'TagCreate',\n} as const;\n\nexport const $TagSchema = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n translation: {\n $ref: '#/components/schemas/TagTranslationBase',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: ['shop_id', 'name', 'translation', 'id'],\n title: 'TagSchema',\n} as const;\n\nexport const $TagTranslationBase = {\n properties: {\n main_name: {\n type: 'string',\n title: 'Main Name',\n },\n alt1_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Name',\n },\n alt2_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Name',\n },\n },\n type: 'object',\n required: ['main_name'],\n title: 'TagTranslationBase',\n} as const;\n\nexport const $TagUpdate = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n translation: {\n $ref: '#/components/schemas/TagTranslationBase',\n },\n },\n type: 'object',\n required: ['shop_id', 'name', 'translation'],\n title: 'TagUpdate',\n} as const;\n\nexport const $Toggles = {\n properties: {\n show_new_products: {\n type: 'boolean',\n title: 'Show New Products',\n default: true,\n },\n show_featured_products: {\n type: 'boolean',\n title: 'Show Featured Products',\n default: true,\n },\n show_categories: {\n type: 'boolean',\n title: 'Show Categories',\n default: true,\n },\n show_shop_name: {\n type: 'boolean',\n title: 'Show Shop Name',\n default: true,\n },\n show_nav_categories: {\n type: 'boolean',\n title: 'Show Nav Categories',\n default: false,\n },\n language_alt1_enabled: {\n type: 'boolean',\n title: 'Language Alt1 Enabled',\n default: false,\n },\n language_alt2_enabled: {\n type: 'boolean',\n title: 'Language Alt2 Enabled',\n default: false,\n },\n product_call_to_action_enabled: {\n type: 'boolean',\n title: 'Product Call To Action Enabled',\n default: false,\n },\n enable_stock_on_products: {\n type: 'boolean',\n title: 'Enable Stock On Products',\n default: false,\n },\n enable_attributes_for_categories: {\n type: 'boolean',\n title: 'Enable Attributes For Categories',\n default: false,\n },\n force_unique_product_names: {\n type: 'boolean',\n title: 'Force Unique Product Names',\n default: false,\n },\n },\n type: 'object',\n title: 'Toggles',\n} as const;\n\nexport const $TrashItem = {\n properties: {\n entity_type: {\n type: 'string',\n title: 'Entity Type',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Name',\n },\n deleted_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Deleted At',\n },\n deleted_batch_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Deleted Batch Id',\n },\n },\n type: 'object',\n required: ['entity_type', 'id'],\n title: 'TrashItem',\n} as const;\n\nexport const $UnresolvedReference = {\n properties: {\n kind: {\n type: 'string',\n title: 'Kind',\n },\n id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Id',\n },\n name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Name',\n },\n },\n type: 'object',\n required: ['kind'],\n title: 'UnresolvedReference',\n} as const;\n\nexport const $ValidationError = {\n properties: {\n loc: {\n items: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'integer',\n },\n ],\n },\n type: 'array',\n title: 'Location',\n },\n msg: {\n type: 'string',\n title: 'Message',\n },\n type: {\n type: 'string',\n title: 'Error Type',\n },\n },\n type: 'object',\n required: ['loc', 'msg', 'type'],\n title: 'ValidationError',\n} as const;\n","import { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\nexport const isString = (value: unknown): value is string => {\n return typeof value === 'string';\n};\n\nexport const isStringWithValue = (value: unknown): value is string => {\n return isString(value) && value !== '';\n};\n\nexport const isBlob = (value: any): value is Blob => {\n return value instanceof Blob;\n};\n\nexport const isFormData = (value: unknown): value is FormData => {\n return value instanceof FormData;\n};\n\nexport const base64 = (str: string): string => {\n try {\n return btoa(str);\n } catch (err) {\n // @ts-ignore\n return Buffer.from(str).toString('base64');\n }\n};\n\nexport const getQueryString = (params: Record<string, unknown>): string => {\n const qs: string[] = [];\n\n const append = (key: string, value: unknown) => {\n qs.push(\n `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`,\n );\n };\n\n const encodePair = (key: string, value: unknown) => {\n if (value === undefined || value === null) {\n return;\n }\n\n if (value instanceof Date) {\n append(key, value.toISOString());\n } else if (Array.isArray(value)) {\n value.forEach((v) => encodePair(key, v));\n } else if (typeof value === 'object') {\n Object.entries(value).forEach(([k, v]) =>\n encodePair(`${key}[${k}]`, v),\n );\n } else {\n append(key, value);\n }\n };\n\n Object.entries(params).forEach(([key, value]) => encodePair(key, value));\n\n return qs.length ? `?${qs.join('&')}` : '';\n};\n\nconst getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {\n const encoder = config.ENCODE_PATH || encodeURI;\n\n const path = options.url\n .replace('{api-version}', config.VERSION)\n .replace(/{(.*?)}/g, (substring: string, group: string) => {\n if (options.path?.hasOwnProperty(group)) {\n return encoder(String(options.path[group]));\n }\n return substring;\n });\n\n const url = config.BASE + path;\n return options.query ? url + getQueryString(options.query) : url;\n};\n\nexport const getFormData = (\n options: ApiRequestOptions,\n): FormData | undefined => {\n if (options.formData) {\n const formData = new FormData();\n\n const process = (key: string, value: unknown) => {\n if (isString(value) || isBlob(value)) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(options.formData)\n .filter(([, value]) => value !== undefined && value !== null)\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach((v) => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n }\n return undefined;\n};\n\ntype Resolver<T> = (options: ApiRequestOptions) => Promise<T>;\n\nexport const resolve = async <T>(\n options: ApiRequestOptions,\n resolver?: T | Resolver<T>,\n): Promise<T | undefined> => {\n if (typeof resolver === 'function') {\n return (resolver as Resolver<T>)(options);\n }\n return resolver;\n};\n\nexport const getHeaders = async (\n config: OpenAPIConfig,\n options: ApiRequestOptions,\n): Promise<Headers> => {\n const [token, username, password, additionalHeaders] = await Promise.all([\n resolve(options, config.TOKEN),\n resolve(options, config.USERNAME),\n resolve(options, config.PASSWORD),\n resolve(options, config.HEADERS),\n ]);\n\n const headers = Object.entries({\n Accept: 'application/json',\n ...additionalHeaders,\n ...options.headers,\n })\n .filter(([, value]) => value !== undefined && value !== null)\n .reduce(\n (headers, [key, value]) => ({\n ...headers,\n [key]: String(value),\n }),\n {} as Record<string, string>,\n );\n\n if (isStringWithValue(token)) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = base64(`${username}:${password}`);\n headers['Authorization'] = `Basic ${credentials}`;\n }\n\n if (options.body !== undefined) {\n if (options.mediaType) {\n headers['Content-Type'] = options.mediaType;\n } else if (isBlob(options.body)) {\n headers['Content-Type'] =\n options.body.type || 'application/octet-stream';\n } else if (isString(options.body)) {\n headers['Content-Type'] = 'text/plain';\n } else if (!isFormData(options.body)) {\n headers['Content-Type'] = 'application/json';\n }\n }\n\n return new Headers(headers);\n};\n\nexport const getRequestBody = (options: ApiRequestOptions): unknown => {\n if (options.body !== undefined) {\n if (\n options.mediaType?.includes('application/json') ||\n options.mediaType?.includes('+json')\n ) {\n return JSON.stringify(options.body);\n } else if (\n isString(options.body) ||\n isBlob(options.body) ||\n isFormData(options.body)\n ) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n};\n\nexport const sendRequest = async (\n config: OpenAPIConfig,\n options: ApiRequestOptions,\n url: string,\n body: any,\n formData: FormData | undefined,\n headers: Headers,\n onCancel: OnCancel,\n): Promise<Response> => {\n const controller = new AbortController();\n\n let request: RequestInit = {\n headers,\n body: body ?? formData,\n method: options.method,\n signal: controller.signal,\n };\n\n if (config.WITH_CREDENTIALS) {\n request.credentials = config.CREDENTIALS;\n }\n\n for (const fn of config.interceptors.request._fns) {\n request = await fn(request);\n }\n\n onCancel(() => controller.abort());\n\n return await fetch(url, request);\n};\n\nexport const getResponseHeader = (\n response: Response,\n responseHeader?: string,\n): string | undefined => {\n if (responseHeader) {\n const content = response.headers.get(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return undefined;\n};\n\nexport const getResponseBody = async (response: Response): Promise<unknown> => {\n if (response.status !== 204) {\n try {\n const contentType = response.headers.get('Content-Type');\n if (contentType) {\n const binaryTypes = [\n 'application/octet-stream',\n 'application/pdf',\n 'application/zip',\n 'audio/',\n 'image/',\n 'video/',\n ];\n if (\n contentType.includes('application/json') ||\n contentType.includes('+json')\n ) {\n return await response.json();\n } else if (\n binaryTypes.some((type) => contentType.includes(type))\n ) {\n return await response.blob();\n } else if (contentType.includes('multipart/form-data')) {\n return await response.formData();\n } else if (contentType.includes('text/')) {\n return await response.text();\n }\n }\n } catch (error) {\n console.error(error);\n }\n }\n return undefined;\n};\n\nexport const catchErrorCodes = (\n options: ApiRequestOptions,\n result: ApiResult,\n): void => {\n const errors: Record<number, string> = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 402: 'Payment Required',\n 403: 'Forbidden',\n 404: 'Not Found',\n 405: 'Method Not Allowed',\n 406: 'Not Acceptable',\n 407: 'Proxy Authentication Required',\n 408: 'Request Timeout',\n 409: 'Conflict',\n 410: 'Gone',\n 411: 'Length Required',\n 412: 'Precondition Failed',\n 413: 'Payload Too Large',\n 414: 'URI Too Long',\n 415: 'Unsupported Media Type',\n 416: 'Range Not Satisfiable',\n 417: 'Expectation Failed',\n 418: 'Im a teapot',\n 421: 'Misdirected Request',\n 422: 'Unprocessable Content',\n 423: 'Locked',\n 424: 'Failed Dependency',\n 425: 'Too Early',\n 426: 'Upgrade Required',\n 428: 'Precondition Required',\n 429: 'Too Many Requests',\n 431: 'Request Header Fields Too Large',\n 451: 'Unavailable For Legal Reasons',\n 500: 'Internal Server Error',\n 501: 'Not Implemented',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n 504: 'Gateway Timeout',\n 505: 'HTTP Version Not Supported',\n 506: 'Variant Also Negotiates',\n 507: 'Insufficient Storage',\n 508: 'Loop Detected',\n 510: 'Not Extended',\n 511: 'Network Authentication Required',\n ...options.errors,\n };\n\n const error = errors[result.status];\n if (error) {\n throw new ApiError(options, result, error);\n }\n\n if (!result.ok) {\n const errorStatus = result.status ?? 'unknown';\n const errorStatusText = result.statusText ?? 'unknown';\n const errorBody = (() => {\n try {\n return JSON.stringify(result.body, null, 2);\n } catch (e) {\n return undefined;\n }\n })();\n\n throw new ApiError(\n options,\n result,\n `Generic Error: status: ${errorStatus}; status text: ${errorStatusText}; body: ${errorBody}`,\n );\n }\n};\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @returns CancelablePromise<T>\n * @throws ApiError\n */\nexport const request = <T>(\n config: OpenAPIConfig,\n options: ApiRequestOptions,\n): CancelablePromise<T> => {\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n try {\n const url = getUrl(config, options);\n const formData = getFormData(options);\n const body = getRequestBody(options);\n const headers = await getHeaders(config, options);\n\n if (!onCancel.isCancelled) {\n let response = await sendRequest(\n config,\n options,\n url,\n body,\n formData,\n headers,\n onCancel,\n );\n\n for (const fn of config.interceptors.response._fns) {\n response = await fn(response);\n }\n\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(\n response,\n options.responseHeader,\n );\n\n const result: ApiResult = {\n url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n body: responseHeader ?? responseBody,\n };\n\n catchErrorCodes(options, result);\n\n resolve(result.body);\n }\n } catch (error) {\n reject(error);\n }\n });\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { CancelablePromise } from './core/CancelablePromise';\nimport { OpenAPI } from './core/OpenAPI';\nimport { request as __request } from './core/request';\nimport type {\n GetHealthHealthGetResponse,\n GetFormsFormsGetResponse,\n NewFormFormsFormKeyPostData,\n NewFormFormsFormKeyPostResponse,\n GetSignedUrlImagesSignedUrlImageNameGetData,\n GetSignedUrlImagesSignedUrlImageNameGetResponse,\n MoveImagesImagesMovePostResponse,\n DeleteTemporaryImagesImagesDeleteTempPostResponse,\n GetMultiLicensesGetData,\n GetMultiLicensesGetResponse,\n CreateLicensesPostData,\n CreateLicensesPostResponse,\n GetByIdLicensesIdGetData,\n GetByIdLicensesIdGetResponse,\n EditLicensesIdPutData,\n EditLicensesIdPutResponse,\n DeleteLicensesIdDeleteData,\n DeleteLicensesIdDeleteResponse,\n GetByImproviserUserIdLicensesImproviserImproviserUserIdGetData,\n GetByImproviserUserIdLicensesImproviserImproviserUserIdGetResponse,\n ListAccountsAdminAccountsGetData,\n ListAccountsAdminAccountsGetResponse,\n GetAccountAdminAccountsIdGetData,\n GetAccountAdminAccountsIdGetResponse,\n GetStripeCustomerAdminAccountsIdStripeCustomerGetData,\n GetStripeCustomerAdminAccountsIdStripeCustomerGetResponse,\n SyncStripeAdminAccountsIdSyncStripePostData,\n SyncStripeAdminAccountsIdSyncStripePostResponse,\n LinkStripeAdminAccountsIdLinkStripePostData,\n LinkStripeAdminAccountsIdLinkStripePostResponse,\n GetSignedDownloadLinkDownloadsFileNameGetData,\n GetSignedDownloadLinkDownloadsFileNameGetResponse,\n SendDownloadLinkViaEmailDownloadsSendPostData,\n SendDownloadLinkViaEmailDownloadsSendPostResponse,\n GetMultiShopsGetData,\n GetMultiShopsGetResponse,\n CreateShopsPostData,\n CreateShopsPostResponse,\n ListMyShopsResponse,\n GetCacheStatusShopsCacheStatusIdGetData,\n GetCacheStatusShopsCacheStatusIdGetResponse,\n GetLastCompletedOrderShopsLastCompletedOrderIdGetData,\n GetLastCompletedOrderShopsLastCompletedOrderIdGetResponse,\n GetLastPendingOrderShopsLastPendingOrderIdGetData,\n GetLastPendingOrderShopsLastPendingOrderIdGetResponse,\n GetByIdShopsIdGetData,\n GetByIdShopsIdGetResponse,\n GetConfigShopsConfigIdGetData,\n GetConfigShopsConfigIdGetResponse,\n UpdateConfigShopsConfigIdPutData,\n UpdateConfigShopsConfigIdPutResponse,\n UpdateShopsShopIdPutData,\n UpdateShopsShopIdPutResponse,\n DeleteShopsShopIdDeleteData,\n DeleteShopsShopIdDeleteResponse,\n GetAllowedIpsShopsAllowedIpsIdGetData,\n GetAllowedIpsShopsAllowedIpsIdGetResponse,\n AddNewIpShopsAllowedIpsIdPostData,\n AddNewIpShopsAllowedIpsIdPostResponse,\n RemoveIpShopsAllowedIpsIdRemovePostData,\n RemoveIpShopsAllowedIpsIdRemovePostResponse,\n GetProductsShopsShopIdPricesGetData,\n GetProductsShopsShopIdPricesGetResponse,\n GetCartProductsShopsShopIdPricesPostData,\n GetCartProductsShopsShopIdPricesPostResponse,\n GetMultiOrdersGetData,\n GetMultiOrdersGetResponse,\n CreateOrdersPostData,\n CreateOrdersPostResponse,\n ListPendingOrdersData,\n ListPendingOrdersResponse,\n ListCompleteOrdersData,\n ListCompleteOrdersResponse,\n GetByIdOrdersIdGetData,\n GetByIdOrdersIdGetResponse,\n CheckOrdersCheckIdsGetData,\n CheckOrdersCheckIdsGetResponse,\n QuoteOrdersQuotePostData,\n QuoteOrdersQuotePostResponse,\n PatchOrdersOrderIdPatchData,\n PatchOrdersOrderIdPatchResponse,\n UpdateOrdersOrderIdPutData,\n UpdateOrdersOrderIdPutResponse,\n DeleteOrdersOrderIdDeleteData,\n DeleteOrdersOrderIdDeleteResponse,\n GetOrderProductsInStockOrdersStockOrderIdGetData,\n GetOrderProductsInStockOrdersStockOrderIdGetResponse,\n CalculateShippingCalculatePostData,\n CalculateShippingCalculatePostResponse,\n ListCategoriesData,\n ListCategoriesResponse,\n CreateCategoryData,\n CreateCategoryResponse,\n GetCategoryData,\n GetCategoryResponse,\n UpdateCategoryData,\n UpdateCategoryResponse,\n DeleteCategoryData,\n DeleteCategoryResponse,\n GetByNameShopsShopIdCategoriesNameNameGetData,\n GetByNameShopsShopIdCategoriesNameNameGetResponse,\n SwapShopsShopIdCategoriesCategoryIdSwapPutData,\n SwapShopsShopIdCategoriesCategoryIdSwapPutResponse,\n GetAvailableAttributesShopsShopIdCategoriesCategoryIdAvailableAttributesGetData,\n GetAvailableAttributesShopsShopIdCategoriesCategoryIdAvailableAttributesGetResponse,\n GetCategoryProductsShopsShopIdCategoriesCategoryIdProductsGetData,\n GetCategoryProductsShopsShopIdCategoriesCategoryIdProductsGetResponse,\n GetMultiShopsShopIdCategoriesImagesGetData,\n GetMultiShopsShopIdCategoriesImagesGetResponse,\n GetByIdShopsShopIdCategoriesImagesIdGetData,\n GetByIdShopsShopIdCategoriesImagesIdGetResponse,\n PutShopsShopIdCategoriesImagesIdPutData,\n PutShopsShopIdCategoriesImagesIdPutResponse,\n DeleteImageShopsShopIdCategoriesImagesDeleteIdPutData,\n DeleteImageShopsShopIdCategoriesImagesDeleteIdPutResponse,\n GetSignedUploadUrlShopsShopIdImagesSignedUrlImageNameGetData,\n GetSignedUploadUrlShopsShopIdImagesSignedUrlImageNameGetResponse,\n ListProductsData,\n ListProductsResponse,\n CreateProductData,\n CreateProductResponse,\n GetMultiWithAttributesShopsShopIdProductsWithAttributesGetData,\n GetMultiWithAttributesShopsShopIdProductsWithAttributesGetResponse,\n UpdateProductData,\n UpdateProductResponse,\n DeleteProductData,\n DeleteProductResponse,\n GetProductData,\n GetProductResponse,\n SwapShopsShopIdProductsProductIdSwapPutData,\n SwapShopsShopIdProductsProductIdSwapPutResponse,\n GetProductAttributesData,\n GetProductAttributesResponse,\n ListProductToTagsData,\n ListProductToTagsResponse,\n CreateProductToTagData,\n CreateProductToTagResponse,\n GetProductToTagRelationIdData,\n GetProductToTagRelationIdResponse,\n GetProductToTagData,\n GetProductToTagResponse,\n UpdateProductToTagData,\n UpdateProductToTagResponse,\n DeleteProductToTagData,\n DeleteProductToTagResponse,\n ListShopRevisionsData,\n ListShopRevisionsResponse,\n GetRevisionData,\n GetRevisionResponse,\n ListProductRevisionsData,\n ListProductRevisionsResponse,\n GetProductRevisionData,\n GetProductRevisionResponse,\n RestoreProductRevisionData,\n RestoreProductRevisionResponse,\n RestoreProductData,\n RestoreProductResponse,\n ListCategoryRevisionsShopsShopIdCategoriesCategoryIdRevisionsGetData,\n ListCategoryRevisionsShopsShopIdCategoriesCategoryIdRevisionsGetResponse,\n RestoreCategoryData,\n RestoreCategoryResponse,\n RestoreCategoryRevisionData,\n RestoreCategoryRevisionResponse,\n RestoreTagRevisionData,\n RestoreTagRevisionResponse,\n RestoreTagData,\n RestoreTagResponse,\n RestoreAttributeRevisionData,\n RestoreAttributeRevisionResponse,\n RestoreAttributeData,\n RestoreAttributeResponse,\n ListTrashShopsShopIdTrashGetData,\n ListTrashShopsShopIdTrashGetResponse,\n ListTagsData,\n ListTagsResponse,\n CreateTagData,\n CreateTagResponse,\n GetTagData,\n GetTagResponse,\n UpdateTagData,\n UpdateTagResponse,\n DeleteTagData,\n DeleteTagResponse,\n GetByNameShopsShopIdTagsNameNameGetData,\n GetByNameShopsShopIdTagsNameNameGetResponse,\n GetByIdWithOptionsDirectShopsShopIdAttributesAttributeIdWithOptionsGetData,\n GetByIdWithOptionsDirectShopsShopIdAttributesAttributeIdWithOptionsGetResponse,\n GetWithOptionsShopsShopIdAttributesWithOptionsGetData,\n GetWithOptionsShopsShopIdAttributesWithOptionsGetResponse,\n ListAttributesData,\n ListAttributesResponse,\n CreateAttributeData,\n CreateAttributeResponse,\n GetByIdWithOptionsShopsShopIdAttributesIdAttributeIdWithOptionsGetData,\n GetByIdWithOptionsShopsShopIdAttributesIdAttributeIdWithOptionsGetResponse,\n GetAttributeData,\n GetAttributeResponse,\n GetByNameShopsShopIdAttributesNameNameGetData,\n GetByNameShopsShopIdAttributesNameNameGetResponse,\n UpdateAttributeData,\n UpdateAttributeResponse,\n DeleteAttributeData,\n DeleteAttributeResponse,\n MintShopsShopIdApiKeysPostData,\n MintShopsShopIdApiKeysPostResponse,\n ListKeysShopsShopIdApiKeysGetData,\n ListKeysShopsShopIdApiKeysGetResponse,\n RevokeShopsShopIdApiKeysKeyIdDeleteData,\n RevokeShopsShopIdApiKeysKeyIdDeleteResponse,\n ListAttributeOptionsData,\n ListAttributeOptionsResponse,\n CreateAttributeOptionData,\n CreateAttributeOptionResponse,\n GetAttributeOptionData,\n GetAttributeOptionResponse,\n UpdateAttributeOptionData,\n UpdateAttributeOptionResponse,\n DeleteAttributeOptionData,\n DeleteAttributeOptionResponse,\n ListOptionsShopsShopIdAttributesAttributeIdOptionsGetData,\n ListOptionsShopsShopIdAttributesAttributeIdOptionsGetResponse,\n CreateOptionShopsShopIdAttributesAttributeIdOptionsPostData,\n CreateOptionShopsShopIdAttributesAttributeIdOptionsPostResponse,\n GetOptionShopsShopIdAttributesAttributeIdOptionsOptionIdGetData,\n GetOptionShopsShopIdAttributesAttributeIdOptionsOptionIdGetResponse,\n DeleteOptionShopsShopIdAttributesAttributeIdOptionsOptionIdDeleteData,\n DeleteOptionShopsShopIdAttributesAttributeIdOptionsOptionIdDeleteResponse,\n ProductAttributeValuesListData,\n ProductAttributeValuesListResponse,\n ProductAttributeValuesCreateDeprecatedData,\n ProductAttributeValuesCreateDeprecatedResponse,\n ProductAttributeValuesGetData,\n ProductAttributeValuesGetResponse,\n ProductAttributeValuesDeleteData,\n ProductAttributeValuesDeleteResponse,\n AddProductAttributeOptionsData,\n AddProductAttributeOptionsResponse,\n ProductAttributeValuesReplaceForProductData,\n ProductAttributeValuesReplaceForProductResponse,\n GetMultiShopsShopIdAccountsGetData,\n GetMultiShopsShopIdAccountsGetResponse,\n CreateShopsShopIdAccountsPostData,\n CreateShopsShopIdAccountsPostResponse,\n GetByIdShopsShopIdAccountsIdGetData,\n GetByIdShopsShopIdAccountsIdGetResponse,\n UpdateShopsShopIdAccountsAccountIdPutData,\n UpdateShopsShopIdAccountsAccountIdPutResponse,\n DeleteShopsShopIdAccountsAccountIdDeleteData,\n DeleteShopsShopIdAccountsAccountIdDeleteResponse,\n CreatePaymentIntentShopsShopIdStripePostData,\n CreatePaymentIntentShopsShopIdStripePostResponse,\n CreateSubscriptionIntentShopsShopIdStripeSubscriptionPostData,\n CreateSubscriptionIntentShopsShopIdStripeSubscriptionPostResponse,\n CancelSubscriptionShopsShopIdStripeSubscriptionSubscriptionIdDeleteData,\n CancelSubscriptionShopsShopIdStripeSubscriptionSubscriptionIdDeleteResponse,\n CreateEarlyAccessPostData,\n CreateEarlyAccessPostResponse,\n FormInfoRequestFormPostData,\n FormInfoRequestFormPostResponse,\n TriggerErrorSentryGetData,\n TriggerErrorSentryGetResponse,\n FormTestFormsPostData,\n FormTestFormsPostResponse,\n GetMultiFaqGetData,\n GetMultiFaqGetResponse,\n CreateFaqPostData,\n CreateFaqPostResponse,\n GetByIdFaqIdGetData,\n GetByIdFaqIdGetResponse,\n UpdateFaqFaqIdPutData,\n UpdateFaqFaqIdPutResponse,\n DeleteFaqFaqIdDeleteData,\n DeleteFaqFaqIdDeleteResponse,\n SendTestOrderConfirmationMailTestSendOrderConfirmationPostData,\n SendTestOrderConfirmationMailTestSendOrderConfirmationPostResponse,\n} from './types.gen';\n\n/**\n * Get Health\n * @returns string Successful Response\n * @throws ApiError\n */\nexport const getHealthHealthGet =\n (): CancelablePromise<GetHealthHealthGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/health/',\n });\n };\n\n/**\n * Get Forms\n * Retrieve all forms.\n *\n * Args:\n * response: Response\n *\n * Returns:\n * Form titles\n * @returns string Successful Response\n * @throws ApiError\n */\nexport const getFormsFormsGet =\n (): CancelablePromise<GetFormsFormsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/forms',\n });\n };\n\n/**\n * New Form\n * @param data The data for the request.\n * @param data.formKey\n * @param data.requestBody\n * @param data.shopId\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const newFormFormsFormKeyPost = (\n data: NewFormFormsFormKeyPostData,\n): CancelablePromise<NewFormFormsFormKeyPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/forms/{form_key}',\n path: {\n form_key: data.formKey,\n },\n query: {\n shop_id: data.shopId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get Signed Url\n * @param data The data for the request.\n * @param data.imageName\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const getSignedUrlImagesSignedUrlImageNameGet = (\n data: GetSignedUrlImagesSignedUrlImageNameGetData,\n): CancelablePromise<GetSignedUrlImagesSignedUrlImageNameGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/images/signed-url/{image_name}',\n path: {\n image_name: data.imageName,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Move Images\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const moveImagesImagesMovePost =\n (): CancelablePromise<MoveImagesImagesMovePostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/images/move',\n });\n };\n\n/**\n * Delete Temporary Images\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const deleteTemporaryImagesImagesDeleteTempPost =\n (): CancelablePromise<DeleteTemporaryImagesImagesDeleteTempPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/images/delete-temp',\n });\n };\n\n/**\n * List licenses\n * Returns all licenses. Requires superuser privileges.\n * @param data The data for the request.\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @returns LicenseSchema Successful Response\n * @throws ApiError\n */\nexport const getMultiLicensesGet = (\n data: GetMultiLicensesGetData = {},\n): CancelablePromise<GetMultiLicensesGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/licenses',\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create license\n * Create a new license. Recurring licenses must not have an `end_date`. Requires superuser privileges.\n * @param data The data for the request.\n * @param data.requestBody\n * @returns LicenseSchema Successful Response\n * @throws ApiError\n */\nexport const createLicensesPost = (\n data: CreateLicensesPostData,\n): CancelablePromise<CreateLicensesPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/licenses',\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get license\n * Retrieve a single license by its UUID. Requires superuser privileges.\n * @param data The data for the request.\n * @param data.id\n * @returns LicenseSchema Successful Response\n * @throws ApiError\n */\nexport const getByIdLicensesIdGet = (\n data: GetByIdLicensesIdGetData,\n): CancelablePromise<GetByIdLicensesIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/licenses/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update license\n * Update an existing license. Recurring licenses may not be given an `end_date`. Requires superuser privileges.\n * @param data The data for the request.\n * @param data.id\n * @param data.requestBody\n * @returns LicenseSchema Successful Response\n * @throws ApiError\n */\nexport const editLicensesIdPut = (\n data: EditLicensesIdPutData,\n): CancelablePromise<EditLicensesIdPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/licenses/{id}',\n path: {\n id: data.id,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete license\n * Permanently remove a license. Requires superuser privileges.\n * @param data The data for the request.\n * @param data.id\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteLicensesIdDelete = (\n data: DeleteLicensesIdDeleteData,\n): CancelablePromise<DeleteLicensesIdDeleteResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/licenses/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get license by improviser user ID\n * Retrieve the license associated with an external improviser user ID.\n * @param data The data for the request.\n * @param data.improviserUserId\n * @returns LicenseSchema Successful Response\n * @throws ApiError\n */\nexport const getByImproviserUserIdLicensesImproviserImproviserUserIdGet = (\n data: GetByImproviserUserIdLicensesImproviserImproviserUserIdGetData,\n): CancelablePromise<GetByImproviserUserIdLicensesImproviserImproviserUserIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/licenses/improviser/{improviser_user_id}',\n path: {\n improviser_user_id: data.improviserUserId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List accounts (admin)\n * List all customer accounts across every shop. Optionally filter by `shop_id` or by Stripe linkage status (`missing_stripe=true` returns accounts without a Stripe customer ID). Requires membership of the Cognito Admins group.\n * @param data The data for the request.\n * @param data.shopId Restrict to a single shop\n * @param data.missingStripe If true, only accounts without a stripe_customer_id; if false, only those with one.\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @returns AdminAccountSchema Successful Response\n * @throws ApiError\n */\nexport const listAccountsAdminAccountsGet = (\n data: ListAccountsAdminAccountsGetData = {},\n): CancelablePromise<ListAccountsAdminAccountsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/admin/accounts',\n query: {\n shop_id: data.shopId,\n missing_stripe: data.missingStripe,\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 403: 'Not a member of the Admins group',\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get account (admin)\n * Retrieve a single account by UUID, including its Stripe metadata. Requires Admins group membership.\n * @param data The data for the request.\n * @param data.id\n * @returns AdminAccountSchema Successful Response\n * @throws ApiError\n */\nexport const getAccountAdminAccountsIdGet = (\n data: GetAccountAdminAccountsIdGetData,\n): CancelablePromise<GetAccountAdminAccountsIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/admin/accounts/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 403: 'Not a member of the Admins group',\n 404: 'Account not found',\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Fetch Stripe customer (admin)\n * Read-through to Stripe: returns the live Stripe Customer object for this account. Does not persist anything — use POST /sync-stripe to save the snapshot.\n * @param data The data for the request.\n * @param data.id\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const getStripeCustomerAdminAccountsIdStripeCustomerGet = (\n data: GetStripeCustomerAdminAccountsIdStripeCustomerGetData,\n): CancelablePromise<GetStripeCustomerAdminAccountsIdStripeCustomerGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/admin/accounts/{id}/stripe-customer',\n path: {\n id: data.id,\n },\n errors: {\n 400: 'Account or shop not configured for Stripe',\n 403: 'Not a member of the Admins group',\n 404: 'Account not found',\n 422: 'Validation Error',\n 502: 'Stripe API error',\n },\n });\n};\n\n/**\n * Sync Stripe customer snapshot (admin)\n * Fetch the Stripe Customer and persist it in `Account.details` (`stripe_customer` + `stripe_synced_at`). Existing details keys are preserved.\n * @param data The data for the request.\n * @param data.id\n * @returns SyncStripeResponse Successful Response\n * @throws ApiError\n */\nexport const syncStripeAdminAccountsIdSyncStripePost = (\n data: SyncStripeAdminAccountsIdSyncStripePostData,\n): CancelablePromise<SyncStripeAdminAccountsIdSyncStripePostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/admin/accounts/{id}/sync-stripe',\n path: {\n id: data.id,\n },\n errors: {\n 400: 'Account or shop not configured for Stripe',\n 403: 'Not a member of the Admins group',\n 404: 'Account not found',\n 422: 'Validation Error',\n 502: 'Stripe API error',\n },\n });\n};\n\n/**\n * Link Stripe customer ID (admin)\n * Manually associate an existing Stripe customer ID with a local account. Follow up with POST /sync-stripe to pull the full snapshot.\n * @param data The data for the request.\n * @param data.id\n * @param data.requestBody\n * @returns AdminAccountSchema Successful Response\n * @throws ApiError\n */\nexport const linkStripeAdminAccountsIdLinkStripePost = (\n data: LinkStripeAdminAccountsIdLinkStripePostData,\n): CancelablePromise<LinkStripeAdminAccountsIdLinkStripePostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/admin/accounts/{id}/link-stripe',\n path: {\n id: data.id,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 403: 'Not a member of the Admins group',\n 404: 'Account not found',\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get Signed Download Link\n * @param data The data for the request.\n * @param data.fileName\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const getSignedDownloadLinkDownloadsFileNameGet = (\n data: GetSignedDownloadLinkDownloadsFileNameGetData,\n): CancelablePromise<GetSignedDownloadLinkDownloadsFileNameGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/downloads/{file_name}',\n path: {\n file_name: data.fileName,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Send Download Link Via Email\n * @param data The data for the request.\n * @param data.fileName\n * @param data.email\n * @param data.shopName\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const sendDownloadLinkViaEmailDownloadsSendPost = (\n data: SendDownloadLinkViaEmailDownloadsSendPostData,\n): CancelablePromise<SendDownloadLinkViaEmailDownloadsSendPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/downloads/send',\n query: {\n file_name: data.fileName,\n email: data.email,\n shop_name: data.shopName,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List shops\n * Returns all shops on the platform. Supports pagination, filtering, and sorting via common query parameters.\n * @param data The data for the request.\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @returns ShopSchema Successful Response\n * @throws ApiError\n */\nexport const getMultiShopsGet = (\n data: GetMultiShopsGetData = {},\n): CancelablePromise<GetMultiShopsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/',\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create shop\n * Create a new shop on the platform. Returns the created shop record.\n * @param data The data for the request.\n * @param data.requestBody\n * @returns ShopSchema Successful Response\n * @throws ApiError\n */\nexport const createShopsPost = (\n data: CreateShopsPostData,\n): CancelablePromise<CreateShopsPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/',\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List shops and capabilities for the current user\n * Returns the shops this user can manage, derived from their Cognito groups, plus capability flags the agent should use to tailor its welcome message and behaviour. Admins (group 'Admins') see all shops and have full write access. Tenant users see only the shop(s) whose ID matches one of their Cognito group names; their write access is also scoped to those shops. Always call this first — before saying anything to the user.\n * @returns MyShopsResponse Successful Response\n * @throws ApiError\n */\nexport const listMyShops = (): CancelablePromise<ListMyShopsResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/my-shops',\n });\n};\n\n/**\n * Get shop cache status\n * Returns the timestamp of the last data change visible in this shop. Useful for cache invalidation.\n * @param data The data for the request.\n * @param data.id\n * @returns ShopCacheStatus Successful Response\n * @throws ApiError\n */\nexport const getCacheStatusShopsCacheStatusIdGet = (\n data: GetCacheStatusShopsCacheStatusIdGetData,\n): CancelablePromise<GetCacheStatusShopsCacheStatusIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/cache-status/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get timestamp of last completed order\n * Returns the timestamp of the most recently completed order for the shop. Used to detect new fulfilments.\n * @param data The data for the request.\n * @param data.id\n * @returns ShopLastCompletedOrder Successful Response\n * @throws ApiError\n */\nexport const getLastCompletedOrderShopsLastCompletedOrderIdGet = (\n data: GetLastCompletedOrderShopsLastCompletedOrderIdGetData,\n): CancelablePromise<GetLastCompletedOrderShopsLastCompletedOrderIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/last-completed-order/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get timestamp of last pending order\n * Returns the timestamp of the most recently created pending order for the shop. Used by POS displays to detect new incoming orders.\n * @param data The data for the request.\n * @param data.id\n * @returns ShopLastPendingOrder Successful Response\n * @throws ApiError\n */\nexport const getLastPendingOrderShopsLastPendingOrderIdGet = (\n data: GetLastPendingOrderShopsLastPendingOrderIdGetData,\n): CancelablePromise<GetLastPendingOrderShopsLastPendingOrderIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/last-pending-order/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get shop\n * Retrieve a shop by its UUID, including all associated price records.\n * @param data The data for the request.\n * @param data.id\n * @returns ShopWithPrices Successful Response\n * @throws ApiError\n */\nexport const getByIdShopsIdGet = (\n data: GetByIdShopsIdGetData,\n): CancelablePromise<GetByIdShopsIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get shop configuration\n * Retrieve the shop's full configuration object, including feature toggles (e.g. stock tracking, checkout behaviour) and payment settings.\n * @param data The data for the request.\n * @param data.id\n * @returns ShopConfig Successful Response\n * @throws ApiError\n */\nexport const getConfigShopsConfigIdGet = (\n data: GetConfigShopsConfigIdGetData,\n): CancelablePromise<GetConfigShopsConfigIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/config/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update shop configuration\n * Update the shop's configuration. Partial updates are supported — only provided fields are changed.\n * @param data The data for the request.\n * @param data.id\n * @param data.requestBody\n * @returns ShopConfigUpdate_Output Successful Response\n * @throws ApiError\n */\nexport const updateConfigShopsConfigIdPut = (\n data: UpdateConfigShopsConfigIdPutData,\n): CancelablePromise<UpdateConfigShopsConfigIdPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/config/{id}',\n path: {\n id: data.id,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update shop\n * Update shop details such as name, description, and VAT rates.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @returns ShopSchema Successful Response\n * @throws ApiError\n */\nexport const updateShopsShopIdPut = (\n data: UpdateShopsShopIdPutData,\n): CancelablePromise<UpdateShopsShopIdPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}',\n path: {\n shop_id: data.shopId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete shop\n * Permanently remove a shop from the platform.\n * @param data The data for the request.\n * @param data.shopId\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteShopsShopIdDelete = (\n data: DeleteShopsShopIdDeleteData,\n): CancelablePromise<DeleteShopsShopIdDeleteResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}',\n path: {\n shop_id: data.shopId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List allowed IPs\n * Returns the list of IP addresses permitted to submit orders to this shop. An empty list means all IPs are allowed.\n * @param data The data for the request.\n * @param data.id\n * @returns string Successful Response\n * @throws ApiError\n */\nexport const getAllowedIpsShopsAllowedIpsIdGet = (\n data: GetAllowedIpsShopsAllowedIpsIdGetData,\n): CancelablePromise<GetAllowedIpsShopsAllowedIpsIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/allowed-ips/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Add allowed IP\n * Add an IP address to the shop's order submission allowlist. Returns the updated list of allowed IPs.\n * @param data The data for the request.\n * @param data.id\n * @param data.requestBody\n * @returns string Successful Response\n * @throws ApiError\n */\nexport const addNewIpShopsAllowedIpsIdPost = (\n data: AddNewIpShopsAllowedIpsIdPostData,\n): CancelablePromise<AddNewIpShopsAllowedIpsIdPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/allowed-ips/{id}',\n path: {\n id: data.id,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Remove allowed IP\n * Remove an IP address from the shop's order submission allowlist. Returns the updated list.\n * @param data The data for the request.\n * @param data.id\n * @param data.requestBody\n * @returns string Successful Response\n * @throws ApiError\n */\nexport const removeIpShopsAllowedIpsIdRemovePost = (\n data: RemoveIpShopsAllowedIpsIdRemovePostData,\n): CancelablePromise<RemoveIpShopsAllowedIpsIdRemovePostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/allowed-ips/{id}/remove',\n path: {\n id: data.id,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List products (pricelist)\n * Returns the full product catalogue for a shop in the requested language (`main`, `alt1`, or `alt2`). Products with missing translations for the requested language are excluded. When stock tracking is enabled, out-of-stock products are also filtered out.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.lang\n * @returns ProductResponse Successful Response\n * @throws ApiError\n */\nexport const getProductsShopsShopIdPricesGet = (\n data: GetProductsShopsShopIdPricesGetData,\n): CancelablePromise<GetProductsShopsShopIdPricesGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/prices/',\n path: {\n shop_id: data.shopId,\n },\n query: {\n lang: data.lang,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get cart products\n * Retrieve product details for a list of product IDs (a cart). Falls back to the `main` language for any product missing a translation in the requested language.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.lang\n * @param data.requestBody\n * @returns ProductResponse Successful Response\n * @throws ApiError\n */\nexport const getCartProductsShopsShopIdPricesPost = (\n data: GetCartProductsShopsShopIdPricesPostData,\n): CancelablePromise<GetCartProductsShopsShopIdPricesPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/prices/',\n path: {\n shop_id: data.shopId,\n },\n query: {\n lang: data.lang,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List all orders\n * Returns all orders across all shops. Requires authentication. Supports pagination, filtering (e.g. `status:pending`), and sorting.\n * @param data The data for the request.\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @returns OrderSchema Successful Response\n * @throws ApiError\n */\nexport const getMultiOrdersGet = (\n data: GetMultiOrdersGetData = {},\n): CancelablePromise<GetMultiOrdersGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/orders/',\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create order\n * Submit a new customer order. The caller's IP is validated against the shop's allowlist. Unit prices, shipping, and totals are derived server-side from the product catalogue. If stock tracking is enabled the product availability is verified before the order is created. A Stripe customer is auto-created for new account names when the shop has Stripe configured.\n * @param data The data for the request.\n * @param data.requestBody\n * @returns OrderCreated Successful Response\n * @throws ApiError\n */\nexport const createOrdersPost = (\n data: CreateOrdersPostData,\n): CancelablePromise<CreateOrdersPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/orders/',\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List pending orders for a shop\n * Read-only. Returns the shop's orders with status `pending` - orders awaiting fulfilment. Scoped to the shop in the path; you cannot read other shops' orders. Results include customer names and totals, so treat them as personal data. Supports pagination (`skip`/`limit`), filtering and sorting via the common query parameters. `filter` matches order fields only (status, dates, totals, etc.) and does NOT match customer name or email - to find a customer's orders, list the shop's orders and match on `account_name` client-side.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns OrderSchema Successful Response\n * @throws ApiError\n */\nexport const listPendingOrders = (\n data: ListPendingOrdersData,\n): CancelablePromise<ListPendingOrdersResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/orders/shop/{shop_id}/pending',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List completed orders for a shop\n * Read-only. Returns the shop's orders with status `complete` or `cancelled` - the order history, useful for reporting. Scoped to the shop in the path; you cannot read other shops' orders. Results include customer names and totals, so treat them as personal data. Supports pagination (`skip`/`limit`), filtering and sorting via the common query parameters. `filter` matches order fields only (status, dates, totals, etc.) and does NOT match customer name or email - to find a customer's orders, list the shop's orders and match on `account_name` client-side.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns OrderSchema Successful Response\n * @throws ApiError\n */\nexport const listCompleteOrders = (\n data: ListCompleteOrdersData,\n): CancelablePromise<ListCompleteOrdersResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/orders/shop/{shop_id}/complete',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get order\n * Retrieve a single order by its UUID, including line items, account name, and shop name.\n * @param data The data for the request.\n * @param data.id\n * @returns OrderSchema Successful Response\n * @throws ApiError\n */\nexport const getByIdOrdersIdGet = (\n data: GetByIdOrdersIdGetData,\n): CancelablePromise<GetByIdOrdersIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/orders/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Check order statuses\n * Retrieve the status and totals of up to 10 orders by passing a comma-separated list of UUIDs. All orders must belong to the same shop. Used by the checkout confirmation page.\n * @param data The data for the request.\n * @param data.ids\n * @returns OrderCreated Successful Response\n * @throws ApiError\n */\nexport const checkOrdersCheckIdsGet = (\n data: CheckOrdersCheckIdsGetData,\n): CancelablePromise<CheckOrdersCheckIdsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/orders/check/{ids}',\n path: {\n ids: data.ids,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Quote an order\n * Calculate gross line prices, shipping, and total from product IDs, quantities, and plans.\n * @param data The data for the request.\n * @param data.requestBody\n * @returns OrderQuote Successful Response\n * @throws ApiError\n */\nexport const quoteOrdersQuotePost = (\n data: QuoteOrdersQuotePostData,\n): CancelablePromise<QuoteOrdersQuotePostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/orders/quote',\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update order status\n * Partially update an order — typically to mark it `complete` or `cancelled`. Setting status to `complete` triggers stock deduction (if enabled), a Discord webhook notification, and an order confirmation email. Idempotent: setting the same status twice is a no-op.\n * @param data The data for the request.\n * @param data.orderId\n * @param data.requestBody\n * @returns OrderUpdated Successful Response\n * @throws ApiError\n */\nexport const patchOrdersOrderIdPatch = (\n data: PatchOrdersOrderIdPatchData,\n): CancelablePromise<PatchOrdersOrderIdPatchResponse> => {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/orders/{order_id}',\n path: {\n order_id: data.orderId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update order status\n * Update an order's status or notes. Prices, line items, and totals are immutable after creation.\n * @param data The data for the request.\n * @param data.orderId\n * @param data.requestBody\n * @returns OrderUpdated Successful Response\n * @throws ApiError\n */\nexport const updateOrdersOrderIdPut = (\n data: UpdateOrdersOrderIdPutData,\n): CancelablePromise<UpdateOrdersOrderIdPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/orders/{order_id}',\n path: {\n order_id: data.orderId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete order\n * Permanently remove an order record. Requires authentication.\n * @param data The data for the request.\n * @param data.orderId\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteOrdersOrderIdDelete = (\n data: DeleteOrdersOrderIdDeleteData,\n): CancelablePromise<DeleteOrdersOrderIdDeleteResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/orders/{order_id}',\n path: {\n order_id: data.orderId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Check order stock availability\n * Returns `true` if all products in the order have sufficient stock, `false` otherwise. Only meaningful when the shop has stock tracking enabled.\n * @param data The data for the request.\n * @param data.orderId\n * @returns boolean Successful Response\n * @throws ApiError\n */\nexport const getOrderProductsInStockOrdersStockOrderIdGet = (\n data: GetOrderProductsInStockOrdersStockOrderIdGetData,\n): CancelablePromise<GetOrderProductsInStockOrdersStockOrderIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/orders/stock/{order_id}',\n path: {\n order_id: data.orderId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Calculate\n * @param data The data for the request.\n * @param data.requestBody\n * @returns ShippingCalculation Successful Response\n * @throws ApiError\n */\nexport const calculateShippingCalculatePost = (\n data: CalculateShippingCalculatePostData,\n): CancelablePromise<CalculateShippingCalculatePostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shipping/calculate',\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List categories\n * Returns paginated categories for a shop, ordered by `order_number`. Supports filtering and sorting.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns CategorySchema Successful Response\n * @throws ApiError\n */\nexport const listCategories = (\n data: ListCategoriesData,\n): CancelablePromise<ListCategoriesResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/categories/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create category\n * Add a new category to a shop. The `order_number` is automatically set to the next available value.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const createCategory = (\n data: CreateCategoryData,\n): CancelablePromise<CreateCategoryResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/categories/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get category\n * Retrieve a single category by its UUID within a shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.categoryId\n * @param data.xApiKey\n * @returns CategorySchema Successful Response\n * @throws ApiError\n */\nexport const getCategory = (\n data: GetCategoryData,\n): CancelablePromise<GetCategoryResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/categories/{category_id}',\n path: {\n shop_id: data.shopId,\n category_id: data.categoryId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update category\n * Partially update a category. Send ONLY the fields you want to change; omitted fields are left untouched. Names and descriptions live in the nested `translation` object and can also be sent partially. `main_image`, `alt1_image` and `alt2_image` are S3 object filenames managed by the image-upload flow - do not set them unless explicitly given a filename.\n * @param data The data for the request.\n * @param data.categoryId\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const updateCategory = (\n data: UpdateCategoryData,\n): CancelablePromise<UpdateCategoryResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/categories/{category_id}',\n path: {\n category_id: data.categoryId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete category (moves to trash)\n * Moves a category to the trash (restorable with `restore_category`). If products are still assigned to it the request fails with 409 and the product count; retry with `force=true` to also move all those products to the trash (restorable as one batch), or with `detach=true` to keep the products but clear their category. `force` and `detach` are mutually exclusive.\n * @param data The data for the request.\n * @param data.categoryId\n * @param data.shopId\n * @param data.force Also move all products in this category to the trash.\n * @param data.detach Keep the products; clear their category reference instead.\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteCategory = (\n data: DeleteCategoryData,\n): CancelablePromise<DeleteCategoryResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/categories/{category_id}',\n path: {\n category_id: data.categoryId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n force: data.force,\n detach: data.detach,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get category by name\n * Retrieve a category using its human-readable name (exact match, case-sensitive).\n * @param data The data for the request.\n * @param data.name\n * @param data.shopId\n * @param data.xApiKey\n * @returns CategorySchema Successful Response\n * @throws ApiError\n */\nexport const getByNameShopsShopIdCategoriesNameNameGet = (\n data: GetByNameShopsShopIdCategoriesNameNameGetData,\n): CancelablePromise<GetByNameShopsShopIdCategoriesNameNameGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/categories/name/{name}',\n path: {\n name: data.name,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Reorder category\n * Move a category up (`move_up=true`) or down (`move_up=false`) in the display order. Swaps `order_number` with the adjacent category.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.categoryId\n * @param data.moveUp\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const swapShopsShopIdCategoriesCategoryIdSwapPut = (\n data: SwapShopsShopIdCategoriesCategoryIdSwapPutData,\n): CancelablePromise<SwapShopsShopIdCategoriesCategoryIdSwapPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/categories/{category_id}/swap',\n path: {\n shop_id: data.shopId,\n category_id: data.categoryId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n move_up: data.moveUp,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get available filter attributes for a category\n * Returns attributes actually used by products in this category, with option counts. Pass option_id[] to narrow counts to the already-selected filters (AND logic).\n * @param data The data for the request.\n * @param data.shopId\n * @param data.categoryId\n * @param data.optionId\n * @returns AvailableAttributeSchema Successful Response\n * @throws ApiError\n */\nexport const getAvailableAttributesShopsShopIdCategoriesCategoryIdAvailableAttributesGet =\n (\n data: GetAvailableAttributesShopsShopIdCategoriesCategoryIdAvailableAttributesGetData,\n ): CancelablePromise<GetAvailableAttributesShopsShopIdCategoriesCategoryIdAvailableAttributesGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/categories/{category_id}/available-attributes',\n path: {\n shop_id: data.shopId,\n category_id: data.categoryId,\n },\n query: {\n option_id: data.optionId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n };\n\n/**\n * List products in a category with attribute filters\n * Fetch products in a category along with their attributes. Supports attribute-based filtering.\n *\n * Attribute filters (mutually exclusive — only one can be used at a time):\n * * `option_id` array[UUID]: Filter by attribute option UUIDs.\n * * `attribute_id` UUID: Filter by attribute UUID.\n * * `option_value_key` array[str]: Filter by option value keys (e.g., 'S', 'RED').\n * * `attribute_name` str: Filter by attribute name.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.categoryId\n * @param data.optionId\n * @param data.attributeId\n * @param data.optionValueKey\n * @param data.attributeName\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @returns ProductWithAttributes Successful Response\n * @throws ApiError\n */\nexport const getCategoryProductsShopsShopIdCategoriesCategoryIdProductsGet = (\n data: GetCategoryProductsShopsShopIdCategoriesCategoryIdProductsGetData,\n): CancelablePromise<GetCategoryProductsShopsShopIdCategoriesCategoryIdProductsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/categories/{category_id}/products',\n path: {\n shop_id: data.shopId,\n category_id: data.categoryId,\n },\n query: {\n option_id: data.optionId,\n attribute_id: data.attributeId,\n option_value_key: data.optionValueKey,\n attribute_name: data.attributeName,\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get Multi\n * List all product category images.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const getMultiShopsShopIdCategoriesImagesGet = (\n data: GetMultiShopsShopIdCategoriesImagesGetData,\n): CancelablePromise<GetMultiShopsShopIdCategoriesImagesGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/categories-images/',\n path: {\n shop_id: data.shopId,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get By Id\n * @param data The data for the request.\n * @param data.id\n * @param data.shopId\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const getByIdShopsShopIdCategoriesImagesIdGet = (\n data: GetByIdShopsShopIdCategoriesImagesIdGetData,\n): CancelablePromise<GetByIdShopsShopIdCategoriesImagesIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/categories-images/{id}',\n path: {\n id: data.id,\n shop_id: data.shopId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Put\n * @param data The data for the request.\n * @param data.id\n * @param data.shopId\n * @param data.requestBody\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const putShopsShopIdCategoriesImagesIdPut = (\n data: PutShopsShopIdCategoriesImagesIdPutData,\n): CancelablePromise<PutShopsShopIdCategoriesImagesIdPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/categories-images/{id}',\n path: {\n id: data.id,\n shop_id: data.shopId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete Image\n * @param data The data for the request.\n * @param data.id\n * @param data.shopId\n * @param data.requestBody\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const deleteImageShopsShopIdCategoriesImagesDeleteIdPut = (\n data: DeleteImageShopsShopIdCategoriesImagesDeleteIdPutData,\n): CancelablePromise<DeleteImageShopsShopIdCategoriesImagesDeleteIdPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/categories-images/delete/{id}',\n path: {\n id: data.id,\n shop_id: data.shopId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get Signed Upload Url\n * @param data The data for the request.\n * @param data.shopId\n * @param data.imageName\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const getSignedUploadUrlShopsShopIdImagesSignedUrlImageNameGet = (\n data: GetSignedUploadUrlShopsShopIdImagesSignedUrlImageNameGetData,\n): CancelablePromise<GetSignedUploadUrlShopsShopIdImagesSignedUrlImageNameGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/images/signed-url/{image_name}',\n path: {\n shop_id: data.shopId,\n image_name: data.imageName,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List products\n * Returns paginated products for a shop, each with its default price. Supports filtering (e.g. `featured:true`, `category_id:<uuid>`) and sorting via common query parameters.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.stockStatus Filter products by inventory state. `in_stock` returns products with stock > 0, `out_of_stock` returns products with stock = 0, `all` (default) returns everything.\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns ProductWithDefaultPrice Successful Response\n * @throws ApiError\n */\nexport const listProducts = (\n data: ListProductsData,\n): CancelablePromise<ListProductsResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/products/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n stock_status: data.stockStatus,\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create product\n * Add a new product to a shop category. The `order_number` is automatically set to the next available value within the category.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const createProduct = (\n data: CreateProductData,\n): CancelablePromise<CreateProductResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/products/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List products with attributes\n * Fetch a list of products along with their associated attributes.\n *\n * You can filter the results using one of the following mutually exclusive attribute filters:\n *\n * * `option_id` array[UUID]: Filter by one or multiple attribute option UUIDs.\n * * `attribute_id` UUID: Filter by attribute UUID.\n * * `option_value_key` array[str]: Filter by option value (e.g., 'Red', 'XL').\n * * `attribute_name` array[str]: Filter by one or multiple attribute names (e.g., 'Color', 'Size').\n *\n * Only one attribute filter can be used at a time.\n *\n * You can additionally narrow results by inventory state with `stock_status`:\n * `in_stock` (stock > 0), `out_of_stock` (stock = 0), or `all` (default).\n * @param data The data for the request.\n * @param data.shopId\n * @param data.optionId\n * @param data.attributeId\n * @param data.optionValueKey\n * @param data.attributeName\n * @param data.stockStatus Filter products by inventory state. `in_stock` returns products with stock > 0, `out_of_stock` returns products with stock = 0, `all` (default) returns everything.\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns ProductWithAttributes Successful Response\n * @throws ApiError\n */\nexport const getMultiWithAttributesShopsShopIdProductsWithAttributesGet = (\n data: GetMultiWithAttributesShopsShopIdProductsWithAttributesGetData,\n): CancelablePromise<GetMultiWithAttributesShopsShopIdProductsWithAttributesGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/products/with_attributes',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n option_id: data.optionId,\n attribute_id: data.attributeId,\n option_value_key: data.optionValueKey,\n attribute_name: data.attributeName,\n stock_status: data.stockStatus,\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update product\n * Partially update a product. Send ONLY the fields you want to change; omitted fields are left untouched. Names and descriptions live in the nested `translation` object and can also be sent partially. `image_1`-`image_6` are S3 object filenames managed by the image-upload flow - do not set them unless explicitly given a filename.\n * @param data The data for the request.\n * @param data.productId\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const updateProduct = (\n data: UpdateProductData,\n): CancelablePromise<UpdateProductResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/products/{product_id}',\n path: {\n product_id: data.productId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete product (moves to trash)\n * Moves the product to the trash. The product disappears from all listings but can be restored with `restore_product` or via its revisions — this action is reversible. Only `force=true` permanently purges the product; that is irreversible and requires user (Cognito) credentials — API keys get 403.\n * @param data The data for the request.\n * @param data.productId\n * @param data.shopId\n * @param data.force Permanently purge instead of moving to trash. Irreversible.\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteProduct = (\n data: DeleteProductData,\n): CancelablePromise<DeleteProductResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/products/{product_id}',\n path: {\n product_id: data.productId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n force: data.force,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get product\n * Retrieve full product details including all active prices, translations, and images. Public endpoint — no authentication required.\n * @param data The data for the request.\n * @param data.productId\n * @param data.shopId\n * @returns ProductWithDetailsAndPrices Successful Response\n * @throws ApiError\n */\nexport const getProduct = (\n data: GetProductData,\n): CancelablePromise<GetProductResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/products/{product_id}',\n path: {\n product_id: data.productId,\n shop_id: data.shopId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Reorder product\n * Move a product up (`move_up=true`) or down (`move_up=false`) in the display order within its category. Swaps `order_number` with the adjacent product.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.productId\n * @param data.moveUp\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const swapShopsShopIdProductsProductIdSwapPut = (\n data: SwapShopsShopIdProductsProductIdSwapPutData,\n): CancelablePromise<SwapShopsShopIdProductsProductIdSwapPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/products/{product_id}/swap',\n path: {\n shop_id: data.shopId,\n product_id: data.productId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n move_up: data.moveUp,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get product with attributes\n * Retrieve a single product together with its assigned attribute values (e.g. size, color). Public endpoint — no authentication required.\n * @param data The data for the request.\n * @param data.productId\n * @param data.shopId\n * @returns ProductWithAttributes Successful Response\n * @throws ApiError\n */\nexport const getProductAttributes = (\n data: GetProductAttributesData,\n): CancelablePromise<GetProductAttributesResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/products/{product_id}/with_attributes',\n path: {\n product_id: data.productId,\n shop_id: data.shopId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List product-tag associations\n * Returns all product-to-tag relationship records for a shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns ProductToTagSchema Successful Response\n * @throws ApiError\n */\nexport const listProductToTags = (\n data: ListProductToTagsData,\n): CancelablePromise<ListProductToTagsResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/products-to-tags/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Add tag to product\n * Create an association between a product and a tag. Both must exist within the shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const createProductToTag = (\n data: CreateProductToTagData,\n): CancelablePromise<CreateProductToTagResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/products-to-tags/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get product-tag relation ID\n * Find the UUID of the association record between a specific product and tag. Returns 400 if the relation does not exist.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.tagId\n * @param data.productId\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const getProductToTagRelationId = (\n data: GetProductToTagRelationIdData,\n): CancelablePromise<GetProductToTagRelationIdResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/products-to-tags/get_relation_id',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n tag_id: data.tagId,\n product_id: data.productId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get product-tag association\n * Retrieve a single product-to-tag association by its UUID.\n * @param data The data for the request.\n * @param data.id\n * @param data.shopId\n * @param data.xApiKey\n * @returns ProductToTagSchema Successful Response\n * @throws ApiError\n */\nexport const getProductToTag = (\n data: GetProductToTagData,\n): CancelablePromise<GetProductToTagResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/products-to-tags/{id}',\n path: {\n id: data.id,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update product-tag association\n * Update an existing product-tag association record.\n * @param data The data for the request.\n * @param data.productToTagId\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const updateProductToTag = (\n data: UpdateProductToTagData,\n): CancelablePromise<UpdateProductToTagResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/products-to-tags/{product_to_tag_id}',\n path: {\n product_to_tag_id: data.productToTagId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Remove tag from product\n * Delete the association between a product and a tag.\n * @param data The data for the request.\n * @param data.productToTagId\n * @param data.shopId\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteProductToTag = (\n data: DeleteProductToTagData,\n): CancelablePromise<DeleteProductToTagResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/products-to-tags/{product_to_tag_id}',\n path: {\n product_to_tag_id: data.productToTagId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List all revisions in a shop\n * Shop-wide change feed: every recorded revision of every product, category, tag and attribute, newest first. Supports filtering by `entity_type` (product | category | tag | attribute), `entity_id`, `action` (create | update | delete | restore | baseline), `source` (rest | mcp) and `created_by`, plus `skip`/`limit` pagination (the total is returned in the Content-Range header). Use `get_revision` to inspect a revision's full snapshot.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.entityType Filter: product | category | tag | attribute.\n * @param data.entityId Filter on one specific entity.\n * @param data.action Filter: create | update | delete | restore | baseline.\n * @param data.source Filter: rest | mcp.\n * @param data.createdBy Filter on actor, e.g. \"api_key:<uuid>\" or \"cognito:<sub>\".\n * @param data.skip\n * @param data.limit\n * @param data.xApiKey\n * @returns RevisionSummary Successful Response\n * @throws ApiError\n */\nexport const listShopRevisions = (\n data: ListShopRevisionsData,\n): CancelablePromise<ListShopRevisionsResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/revisions',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n entity_type: data.entityType,\n entity_id: data.entityId,\n action: data.action,\n source: data.source,\n created_by: data.createdBy,\n skip: data.skip,\n limit: data.limit,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get one revision by id\n * Returns one revision (of any entity type) by its id, including the full snapshot data. Use it to inspect entries from the `list_shop_revisions` feed.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.revisionId\n * @param data.xApiKey\n * @returns RevisionDetail Successful Response\n * @throws ApiError\n */\nexport const getRevision = (\n data: GetRevisionData,\n): CancelablePromise<GetRevisionResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/revisions/{revision_id}',\n path: {\n shop_id: data.shopId,\n revision_id: data.revisionId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List product revisions\n * Returns the revision history of a product, newest first. Every change to the product (fields, translation, tags, attribute values, images) recorded one revision. Use `get_product_revision` to inspect a revision and `restore_product_revision` to roll back to it.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.productId\n * @param data.xApiKey\n * @returns RevisionSummary Successful Response\n * @throws ApiError\n */\nexport const listProductRevisions = (\n data: ListProductRevisionsData,\n): CancelablePromise<ListProductRevisionsResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/products/{product_id}/revisions',\n path: {\n shop_id: data.shopId,\n product_id: data.productId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get product revision\n * Returns one product revision including the full snapshot data (all fields, tags, attribute values and image references at that point in time).\n * @param data The data for the request.\n * @param data.shopId\n * @param data.productId\n * @param data.revisionNo\n * @param data.xApiKey\n * @returns RevisionDetail Successful Response\n * @throws ApiError\n */\nexport const getProductRevision = (\n data: GetProductRevisionData,\n): CancelablePromise<GetProductRevisionResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/products/{product_id}/revisions/{revision_no}',\n path: {\n shop_id: data.shopId,\n product_id: data.productId,\n revision_no: data.revisionNo,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Restore product to a revision\n * Rolls the product back to the state captured in the given revision: fields, translation, category, tags, attribute values and image references. Soft-deleted categories/tags/attributes referenced by the snapshot are automatically restored from the trash; references that were permanently purged are matched by name where possible, otherwise reported in `unresolved`. The restore itself is recorded as a new revision, so it can be undone too. Read the returned report to see what could not be brought back.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.productId\n * @param data.revisionNo\n * @param data.force Recreate the product from the snapshot even if it was permanently purged (user credentials required).\n * @param data.xApiKey\n * @returns RestoreReport Successful Response\n * @throws ApiError\n */\nexport const restoreProductRevision = (\n data: RestoreProductRevisionData,\n): CancelablePromise<RestoreProductRevisionResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/products/{product_id}/revisions/{revision_no}/restore',\n path: {\n shop_id: data.shopId,\n product_id: data.productId,\n revision_no: data.revisionNo,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n force: data.force,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Restore product from trash\n * Brings a trashed (deleted) product back, including its tags and attribute values. If the product's category is also in the trash it is restored as well.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.productId\n * @param data.xApiKey\n * @returns RestoreReport Successful Response\n * @throws ApiError\n */\nexport const restoreProduct = (\n data: RestoreProductData,\n): CancelablePromise<RestoreProductResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/products/{product_id}/restore',\n path: {\n shop_id: data.shopId,\n product_id: data.productId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List category revisions\n * Returns the revision history of a category, newest first.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.categoryId\n * @param data.xApiKey\n * @returns RevisionSummary Successful Response\n * @throws ApiError\n */\nexport const listCategoryRevisionsShopsShopIdCategoriesCategoryIdRevisionsGet =\n (\n data: ListCategoryRevisionsShopsShopIdCategoriesCategoryIdRevisionsGetData,\n ): CancelablePromise<ListCategoryRevisionsShopsShopIdCategoriesCategoryIdRevisionsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/categories/{category_id}/revisions',\n path: {\n shop_id: data.shopId,\n category_id: data.categoryId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n };\n\n/**\n * Restore category from trash\n * Brings a trashed (deleted) category back. With `restore_products=true` (default) it also restores every product that was moved to the trash together with the category by a `delete_category` with `force=true`.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.categoryId\n * @param data.restoreProducts Also restore the products trashed together with this category.\n * @param data.xApiKey\n * @returns RestoreReport Successful Response\n * @throws ApiError\n */\nexport const restoreCategory = (\n data: RestoreCategoryData,\n): CancelablePromise<RestoreCategoryResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/categories/{category_id}/restore',\n path: {\n shop_id: data.shopId,\n category_id: data.categoryId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n restore_products: data.restoreProducts,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Restore category to a revision\n * Rolls the category back to the state captured in the given revision: fields, translations and image references. Products are not touched — use `restore_category` for a trashed category with its product batch, or per-product revision restores to reattach detached products. If the category was permanently purged, `force=true` (user credentials required) recreates it under its original id. The restore is recorded as a new revision.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.categoryId\n * @param data.revisionNo\n * @param data.force Recreate the category from the snapshot even if it was permanently purged (user credentials required).\n * @param data.xApiKey\n * @returns RestoreReport Successful Response\n * @throws ApiError\n */\nexport const restoreCategoryRevision = (\n data: RestoreCategoryRevisionData,\n): CancelablePromise<RestoreCategoryRevisionResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/categories/{category_id}/revisions/{revision_no}/restore',\n path: {\n shop_id: data.shopId,\n category_id: data.categoryId,\n revision_no: data.revisionNo,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n force: data.force,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Restore tag to a revision\n * Rolls the tag back to the state captured in the given revision (name and translations). Use the `list_shop_revisions` feed with `entity_type=tag` to find revisions. If the tag was permanently purged, `force=true` (user credentials required) recreates it under its original id so existing product links in old snapshots resolve again. The restore is recorded as a new revision.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.tagId\n * @param data.revisionNo\n * @param data.force Recreate the tag from the snapshot even if it was permanently purged (user credentials required).\n * @param data.xApiKey\n * @returns RestoreReport Successful Response\n * @throws ApiError\n */\nexport const restoreTagRevision = (\n data: RestoreTagRevisionData,\n): CancelablePromise<RestoreTagRevisionResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/tags/{tag_id}/revisions/{revision_no}/restore',\n path: {\n shop_id: data.shopId,\n tag_id: data.tagId,\n revision_no: data.revisionNo,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n force: data.force,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Restore tag from trash\n * Brings a trashed (deleted) tag back. Its product links were kept in the trash, so the tag reappears on all products that carried it.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.tagId\n * @param data.xApiKey\n * @returns RestoreReport Successful Response\n * @throws ApiError\n */\nexport const restoreTag = (\n data: RestoreTagData,\n): CancelablePromise<RestoreTagResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/tags/{tag_id}/restore',\n path: {\n shop_id: data.shopId,\n tag_id: data.tagId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Restore attribute to a revision\n * Rolls the attribute back to the state captured in the given revision: name, unit, translations and its option set. Trashed options in the snapshot are restored, purged ones are recreated under their original id, and live options that are not in the snapshot are moved to the trash (their product values survive). Use `list_shop_revisions` with `entity_type=attribute` to find revisions. If the attribute was permanently purged, `force=true` (user credentials required) recreates it. The restore is recorded as a new revision. Read the returned report for what was resurrected, recreated or trashed.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.attributeId\n * @param data.revisionNo\n * @param data.force Recreate the attribute from the snapshot even if it was permanently purged (user credentials required).\n * @param data.xApiKey\n * @returns RestoreReport Successful Response\n * @throws ApiError\n */\nexport const restoreAttributeRevision = (\n data: RestoreAttributeRevisionData,\n): CancelablePromise<RestoreAttributeRevisionResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/attributes/{attribute_id}/revisions/{revision_no}/restore',\n path: {\n shop_id: data.shopId,\n attribute_id: data.attributeId,\n revision_no: data.revisionNo,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n force: data.force,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Restore attribute from trash\n * Brings a trashed (deleted) attribute back, including its options and all product values that used it. Options that were trashed individually before stay in the trash — restore an attribute revision to bring those back too.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.attributeId\n * @param data.xApiKey\n * @returns RestoreReport Successful Response\n * @throws ApiError\n */\nexport const restoreAttribute = (\n data: RestoreAttributeData,\n): CancelablePromise<RestoreAttributeResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/attributes/{attribute_id}/restore',\n path: {\n shop_id: data.shopId,\n attribute_id: data.attributeId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List trashed products, categories, tags and attributes\n * Returns all soft-deleted products, categories, tags and attributes of the shop, so they can be inspected and restored.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.xApiKey\n * @returns TrashItem Successful Response\n * @throws ApiError\n */\nexport const listTrashShopsShopIdTrashGet = (\n data: ListTrashShopsShopIdTrashGetData,\n): CancelablePromise<ListTrashShopsShopIdTrashGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/trash',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List tags\n * Returns all tags defined for a shop. Tags can be attached to products for flexible grouping and filtering.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns TagSchema Successful Response\n * @throws ApiError\n */\nexport const listTags = (\n data: ListTagsData,\n): CancelablePromise<ListTagsResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/tags/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create tag\n * Create a new tag for a shop. Tags are attached to products via the `products-to-tags` resource.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const createTag = (\n data: CreateTagData,\n): CancelablePromise<CreateTagResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/tags/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get tag\n * Retrieve a single tag by its UUID within a shop.\n * @param data The data for the request.\n * @param data.tagId\n * @param data.shopId\n * @param data.xApiKey\n * @returns TagSchema Successful Response\n * @throws ApiError\n */\nexport const getTag = (data: GetTagData): CancelablePromise<GetTagResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/tags/{tag_id}',\n path: {\n tag_id: data.tagId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update tag\n * Update an existing tag's name or translations.\n * @param data The data for the request.\n * @param data.tagId\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const updateTag = (\n data: UpdateTagData,\n): CancelablePromise<UpdateTagResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/tags/{tag_id}',\n path: {\n tag_id: data.tagId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete tag (moves to trash)\n * Moves a tag to the trash: it disappears from listings and from the products carrying it, but its product links are kept so restoring the tag brings everything back. This action is reversible. Only `force=true` permanently purges the tag (and its product links); that is irreversible and requires user (Cognito) credentials — API keys get 403.\n * @param data The data for the request.\n * @param data.tagId\n * @param data.shopId\n * @param data.force Permanently purge instead of moving to trash. Irreversible.\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteTag = (\n data: DeleteTagData,\n): CancelablePromise<DeleteTagResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/tags/{tag_id}',\n path: {\n tag_id: data.tagId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n force: data.force,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get tag by name\n * Retrieve a tag by its exact name within a shop.\n * @param data The data for the request.\n * @param data.name\n * @param data.shopId\n * @param data.xApiKey\n * @returns TagSchema Successful Response\n * @throws ApiError\n */\nexport const getByNameShopsShopIdTagsNameNameGet = (\n data: GetByNameShopsShopIdTagsNameNameGetData,\n): CancelablePromise<GetByNameShopsShopIdTagsNameNameGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/tags/name/{name}',\n path: {\n name: data.name,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get attribute by ID with options\n * Retrieve a specific attribute by its unique ID, including all of its defined options.\n * @param data The data for the request.\n * @param data.attributeId\n * @param data.shopId\n * @param data.xApiKey\n * @returns AttributeWithOptionsSchema Successful Response\n * @throws ApiError\n */\nexport const getByIdWithOptionsDirectShopsShopIdAttributesAttributeIdWithOptionsGet =\n (\n data: GetByIdWithOptionsDirectShopsShopIdAttributesAttributeIdWithOptionsGetData,\n ): CancelablePromise<GetByIdWithOptionsDirectShopsShopIdAttributesAttributeIdWithOptionsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attributes/{attribute_id}/with-options',\n path: {\n attribute_id: data.attributeId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n };\n\n/**\n * List shop attributes with options\n * Retrieve a paginated list of all attributes belonging to a specific shop, including their associated options (e.g., sizes or colors).\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns AttributeWithOptionsSchema Successful Response\n * @throws ApiError\n */\nexport const getWithOptionsShopsShopIdAttributesWithOptionsGet = (\n data: GetWithOptionsShopsShopIdAttributesWithOptionsGetData,\n): CancelablePromise<GetWithOptionsShopsShopIdAttributesWithOptionsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attributes/with-options',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List shop attributes\n * Retrieve a paginated list of all attributes defined for a specific shop. This list does not include options.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns AttributeSchema Successful Response\n * @throws ApiError\n */\nexport const listAttributes = (\n data: ListAttributesData,\n): CancelablePromise<ListAttributesResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attributes/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create attribute\n * Create a new attribute for a shop. This also initializes a translation record with the provided name.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns AttributeSchema Successful Response\n * @throws ApiError\n */\nexport const createAttribute = (\n data: CreateAttributeData,\n): CancelablePromise<CreateAttributeResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/attributes/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get attribute by ID with options\n * Retrieve a specific attribute by its unique ID, including all of its defined options.\n * @param data The data for the request.\n * @param data.attributeId\n * @param data.shopId\n * @param data.xApiKey\n * @returns AttributeWithOptionsSchema Successful Response\n * @throws ApiError\n */\nexport const getByIdWithOptionsShopsShopIdAttributesIdAttributeIdWithOptionsGet =\n (\n data: GetByIdWithOptionsShopsShopIdAttributesIdAttributeIdWithOptionsGetData,\n ): CancelablePromise<GetByIdWithOptionsShopsShopIdAttributesIdAttributeIdWithOptionsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attributes/id/{attribute_id}/with-options',\n path: {\n attribute_id: data.attributeId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n };\n\n/**\n * Get attribute by ID\n * Retrieve the details of a specific attribute using its unique ID.\n * @param data The data for the request.\n * @param data.attributeId\n * @param data.shopId\n * @param data.xApiKey\n * @returns AttributeSchema Successful Response\n * @throws ApiError\n */\nexport const getAttribute = (\n data: GetAttributeData,\n): CancelablePromise<GetAttributeResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attributes/id/{attribute_id}',\n path: {\n attribute_id: data.attributeId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get attribute by name\n * Retrieve the details of a specific attribute using its machine-friendly name (e.g., 'color').\n * @param data The data for the request.\n * @param data.name\n * @param data.shopId\n * @param data.xApiKey\n * @returns AttributeSchema Successful Response\n * @throws ApiError\n */\nexport const getByNameShopsShopIdAttributesNameNameGet = (\n data: GetByNameShopsShopIdAttributesNameNameGetData,\n): CancelablePromise<GetByNameShopsShopIdAttributesNameNameGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attributes/name/{name}',\n path: {\n name: data.name,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update attribute\n * Update the details of an existing attribute, such as its name or unit.\n * @param data The data for the request.\n * @param data.attributeId\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns AttributeSchema Successful Response\n * @throws ApiError\n */\nexport const updateAttribute = (\n data: UpdateAttributeData,\n): CancelablePromise<UpdateAttributeResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/attributes/{attribute_id}',\n path: {\n attribute_id: data.attributeId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete attribute (moves to trash)\n * Moves an attribute to the trash: it disappears from listings but existing product values keep their data, so restoring the attribute brings everything back. This action is reversible. Only `force=true` permanently purges the attribute (fails with 409 while products still use it); that is irreversible and requires user (Cognito) credentials — API keys get 403.\n * @param data The data for the request.\n * @param data.attributeId\n * @param data.shopId\n * @param data.force Permanently purge instead of moving to trash. Irreversible.\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteAttribute = (\n data: DeleteAttributeData,\n): CancelablePromise<DeleteAttributeResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/attributes/{attribute_id}',\n path: {\n attribute_id: data.attributeId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n force: data.force,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Mint a new API key for the shop\n * Mint a new API key. The plaintext is returned exactly once.\n *\n * Store it somewhere safe — it cannot be retrieved again. If lost, revoke\n * and mint a new one.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @returns ApiKeyCreated Successful Response\n * @throws ApiError\n */\nexport const mintShopsShopIdApiKeysPost = (\n data: MintShopsShopIdApiKeysPostData,\n): CancelablePromise<MintShopsShopIdApiKeysPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/api-keys/',\n path: {\n shop_id: data.shopId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List API keys for the shop\n * @param data The data for the request.\n * @param data.shopId\n * @returns ApiKeyRead Successful Response\n * @throws ApiError\n */\nexport const listKeysShopsShopIdApiKeysGet = (\n data: ListKeysShopsShopIdApiKeysGetData,\n): CancelablePromise<ListKeysShopsShopIdApiKeysGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/api-keys/',\n path: {\n shop_id: data.shopId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Revoke an API key\n * @param data The data for the request.\n * @param data.shopId\n * @param data.keyId\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const revokeShopsShopIdApiKeysKeyIdDelete = (\n data: RevokeShopsShopIdApiKeysKeyIdDeleteData,\n): CancelablePromise<RevokeShopsShopIdApiKeysKeyIdDeleteResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/api-keys/{key_id}',\n path: {\n shop_id: data.shopId,\n key_id: data.keyId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List attribute options for a shop\n * Retrieve a paginated list of all attribute options (e.g., 'Small', 'XL') across all attributes within a shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns AttributeOptionSchema Successful Response\n * @throws ApiError\n */\nexport const listAttributeOptions = (\n data: ListAttributeOptionsData,\n): CancelablePromise<ListAttributeOptionsResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attribute-options/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create attribute option\n * Create a new option for a specific attribute within a shop. The attribute_id must be provided in the request body.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns AttributeOptionSchema Successful Response\n * @throws ApiError\n */\nexport const createAttributeOption = (\n data: CreateAttributeOptionData,\n): CancelablePromise<CreateAttributeOptionResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/attribute-options/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get attribute option\n * Retrieve the details of a specific attribute option by its unique ID, ensuring it belongs to the shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.optionId\n * @param data.xApiKey\n * @returns AttributeOptionSchema Successful Response\n * @throws ApiError\n */\nexport const getAttributeOption = (\n data: GetAttributeOptionData,\n): CancelablePromise<GetAttributeOptionResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attribute-options/{option_id}',\n path: {\n shop_id: data.shopId,\n option_id: data.optionId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update attribute option\n * Update the details of an existing attribute option, ensuring it belongs to the shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.optionId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns AttributeOptionSchema Successful Response\n * @throws ApiError\n */\nexport const updateAttributeOption = (\n data: UpdateAttributeOptionData,\n): CancelablePromise<UpdateAttributeOptionResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/attribute-options/{option_id}',\n path: {\n shop_id: data.shopId,\n option_id: data.optionId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete attribute option\n * Remove an attribute option, ensuring it belongs to the shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.optionId\n * @param data.force Permanently purge instead of moving to trash. Irreversible.\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteAttributeOption = (\n data: DeleteAttributeOptionData,\n): CancelablePromise<DeleteAttributeOptionResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/attribute-options/{option_id}',\n path: {\n shop_id: data.shopId,\n option_id: data.optionId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n force: data.force,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * @deprecated\n * List attribute options\n * Retrieve a paginated list of options (e.g., 'Small', 'Medium', 'Large') for a specific attribute within a shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.attributeId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @returns AttributeOptionSchema Successful Response\n * @throws ApiError\n */\nexport const listOptionsShopsShopIdAttributesAttributeIdOptionsGet = (\n data: ListOptionsShopsShopIdAttributesAttributeIdOptionsGetData,\n): CancelablePromise<ListOptionsShopsShopIdAttributesAttributeIdOptionsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attributes/{attribute_id}/options/',\n path: {\n shop_id: data.shopId,\n attribute_id: data.attributeId,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * @deprecated\n * Create attribute option\n * Create a new option for a specific attribute. The value_key should be a language-agnostic identifier (e.g., 'XL').\n * @param data The data for the request.\n * @param data.shopId\n * @param data.attributeId\n * @param data.requestBody\n * @returns AttributeOptionSchema Successful Response\n * @throws ApiError\n */\nexport const createOptionShopsShopIdAttributesAttributeIdOptionsPost = (\n data: CreateOptionShopsShopIdAttributesAttributeIdOptionsPostData,\n): CancelablePromise<CreateOptionShopsShopIdAttributesAttributeIdOptionsPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/attributes/{attribute_id}/options/',\n path: {\n shop_id: data.shopId,\n attribute_id: data.attributeId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * @deprecated\n * Get attribute option\n * Retrieve the details of a specific attribute option by its unique ID.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.attributeId\n * @param data.optionId\n * @returns AttributeOptionSchema Successful Response\n * @throws ApiError\n */\nexport const getOptionShopsShopIdAttributesAttributeIdOptionsOptionIdGet = (\n data: GetOptionShopsShopIdAttributesAttributeIdOptionsOptionIdGetData,\n): CancelablePromise<GetOptionShopsShopIdAttributesAttributeIdOptionsOptionIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attributes/{attribute_id}/options/{option_id}',\n path: {\n shop_id: data.shopId,\n attribute_id: data.attributeId,\n option_id: data.optionId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * @deprecated\n * Delete attribute option\n * Remove an attribute option. This will fail if the option is currently used by any product values.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.attributeId\n * @param data.optionId\n * @param data.force Permanently purge instead of moving to trash. Irreversible.\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteOptionShopsShopIdAttributesAttributeIdOptionsOptionIdDelete =\n (\n data: DeleteOptionShopsShopIdAttributesAttributeIdOptionsOptionIdDeleteData,\n ): CancelablePromise<DeleteOptionShopsShopIdAttributesAttributeIdOptionsOptionIdDeleteResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/attributes/{attribute_id}/options/{option_id}',\n path: {\n shop_id: data.shopId,\n attribute_id: data.attributeId,\n option_id: data.optionId,\n },\n query: {\n force: data.force,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n };\n\n/**\n * List product attribute values\n * List product attribute values for a shop (scoped by product.shop_id).\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns ProductAttributeValueSchema Successful Response\n * @throws ApiError\n */\nexport const productAttributeValuesList = (\n data: ProductAttributeValuesListData,\n): CancelablePromise<ProductAttributeValuesListResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/product-attribute-values/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * @deprecated\n * Create product attribute values (deprecated)\n * DEPRECATED: Create a new product attribute value for a product within a shop.\n *\n * Notes:\n * - This endpoint is deprecated; prefer using the selected options endpoint when possible.\n *\n * Validations:\n * - Product exists and belongs to the shop\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const productAttributeValuesCreateDeprecated = (\n data: ProductAttributeValuesCreateDeprecatedData,\n): CancelablePromise<ProductAttributeValuesCreateDeprecatedResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/product-attribute-values/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get product attribute value\n * Retrieve a single product attribute value by id scoped to the given shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.id\n * @param data.xApiKey\n * @returns ProductAttributeValueSchema Successful Response\n * @throws ApiError\n */\nexport const productAttributeValuesGet = (\n data: ProductAttributeValuesGetData,\n): CancelablePromise<ProductAttributeValuesGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/product-attribute-values/{id}',\n path: {\n shop_id: data.shopId,\n id: data.id,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete product attribute value\n * Delete a product attribute value if it belongs to the given shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.id\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const productAttributeValuesDelete = (\n data: ProductAttributeValuesDeleteData,\n): CancelablePromise<ProductAttributeValuesDeleteResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/product-attribute-values/{id}',\n path: {\n shop_id: data.shopId,\n id: data.id,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create product attribute values for product\n * Assign existing attribute options to a product.\n *\n * Provide the shop and product UUIDs in the path and a non-empty ``option_ids``\n * list in the body. Each option must belong to an attribute in the same shop;\n * its attribute is inferred automatically. Existing assignments are left intact,\n * so repeating a request is safe and does not create duplicates.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.productId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const addProductAttributeOptions = (\n data: AddProductAttributeOptionsData,\n): CancelablePromise<AddProductAttributeOptionsResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/product-attribute-values/{product_id}',\n path: {\n shop_id: data.shopId,\n product_id: data.productId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Replace product attribute values for product\n * New version of selected options endpoint addressed by product_id in the path.\n *\n * This endpoint now accepts option_ids that may belong to different attributes.\n * Requirements/validations:\n * - product_id (path) must belong to the shop\n * - option_ids must be a non-empty list\n * - all option_ids must exist\n * - every inferred attribute (from the options) must belong to the shop\n * - for each inferred attribute, set selected options for (product_id, attribute) to exactly\n * the provided option_ids that belong to that attribute\n * @param data The data for the request.\n * @param data.shopId\n * @param data.productId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const productAttributeValuesReplaceForProduct = (\n data: ProductAttributeValuesReplaceForProductData,\n): CancelablePromise<ProductAttributeValuesReplaceForProductResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/product-attribute-values/{product_id}',\n path: {\n shop_id: data.shopId,\n product_id: data.productId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List accounts\n * Returns all customer accounts for a shop. Accounts are created automatically when an order is placed with a new customer name.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @returns AccountSchema Successful Response\n * @throws ApiError\n */\nexport const getMultiShopsShopIdAccountsGet = (\n data: GetMultiShopsShopIdAccountsGetData,\n): CancelablePromise<GetMultiShopsShopIdAccountsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/accounts/',\n path: {\n shop_id: data.shopId,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create account\n * Manually create a new customer account for a shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const createShopsShopIdAccountsPost = (\n data: CreateShopsShopIdAccountsPostData,\n): CancelablePromise<CreateShopsShopIdAccountsPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/accounts/',\n path: {\n shop_id: data.shopId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get account\n * Retrieve a single customer account by its UUID.\n * @param data The data for the request.\n * @param data.id\n * @param data.shopId\n * @returns AccountSchema Successful Response\n * @throws ApiError\n */\nexport const getByIdShopsShopIdAccountsIdGet = (\n data: GetByIdShopsShopIdAccountsIdGetData,\n): CancelablePromise<GetByIdShopsShopIdAccountsIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/accounts/{id}',\n path: {\n id: data.id,\n shop_id: data.shopId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update account\n * Update an existing customer account's details.\n * @param data The data for the request.\n * @param data.accountId\n * @param data.shopId\n * @param data.requestBody\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const updateShopsShopIdAccountsAccountIdPut = (\n data: UpdateShopsShopIdAccountsAccountIdPutData,\n): CancelablePromise<UpdateShopsShopIdAccountsAccountIdPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/accounts/{account_id}',\n path: {\n account_id: data.accountId,\n shop_id: data.shopId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete account\n * Remove a customer account from a shop.\n * @param data The data for the request.\n * @param data.accountId\n * @param data.shopId\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteShopsShopIdAccountsAccountIdDelete = (\n data: DeleteShopsShopIdAccountsAccountIdDeleteData,\n): CancelablePromise<DeleteShopsShopIdAccountsAccountIdDeleteResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/accounts/{account_id}',\n path: {\n account_id: data.accountId,\n shop_id: data.shopId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create payment intent\n * Create a Stripe PaymentIntent for a one-time purchase. Uses the shop's own `stripe_secret_key` and the total saved on the order. Returns a `clientSecret` to complete the payment on the frontend.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.orderId\n * @returns string Successful Response\n * @throws ApiError\n */\nexport const createPaymentIntentShopsShopIdStripePost = (\n data: CreatePaymentIntentShopsShopIdStripePostData,\n): CancelablePromise<CreatePaymentIntentShopsShopIdStripePostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/stripe/',\n path: {\n shop_id: data.shopId,\n },\n query: {\n order_id: data.orderId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create subscription\n * Create a Stripe Subscription using products and plan stored on an order. Price lookup keys are resolved as `monthly-<product_id>` or `yearly-<product_id>`. Returns `clientSecret` and `subscriptionId` to confirm payment on the frontend.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.orderId\n * @returns string Successful Response\n * @throws ApiError\n */\nexport const createSubscriptionIntentShopsShopIdStripeSubscriptionPost = (\n data: CreateSubscriptionIntentShopsShopIdStripeSubscriptionPostData,\n): CancelablePromise<CreateSubscriptionIntentShopsShopIdStripeSubscriptionPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/stripe/subscription',\n path: {\n shop_id: data.shopId,\n },\n query: {\n order_id: data.orderId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Cancel subscription\n * Immediately cancel a Stripe Subscription. Uses the shop's `stripe_secret_key`.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.subscriptionId\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const cancelSubscriptionShopsShopIdStripeSubscriptionSubscriptionIdDelete =\n (\n data: CancelSubscriptionShopsShopIdStripeSubscriptionSubscriptionIdDeleteData,\n ): CancelablePromise<CancelSubscriptionShopsShopIdStripeSubscriptionSubscriptionIdDeleteResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/stripe/subscription/{subscription_id}',\n path: {\n shop_id: data.shopId,\n subscription_id: data.subscriptionId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n };\n\n/**\n * Create\n * @param data The data for the request.\n * @param data.requestBody\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const createEarlyAccessPost = (\n data: CreateEarlyAccessPostData,\n): CancelablePromise<CreateEarlyAccessPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/early-access/',\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Form\n * @param data The data for the request.\n * @param data.shopId\n * @param data.productId\n * @param data.requestBody\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const formInfoRequestFormPost = (\n data: FormInfoRequestFormPostData,\n): CancelablePromise<FormInfoRequestFormPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/info-request/form',\n query: {\n shop_id: data.shopId,\n product_id: data.productId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Trigger Error\n * @param data The data for the request.\n * @param data.type\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const triggerErrorSentryGet = (\n data: TriggerErrorSentryGetData,\n): CancelablePromise<TriggerErrorSentryGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/sentry/',\n query: {\n type: data.type,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Form\n * @param data The data for the request.\n * @param data.requestBody\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const formTestFormsPost = (\n data: FormTestFormsPostData = {},\n): CancelablePromise<FormTestFormsPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/test-forms/',\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List FAQ entries\n * Returns all FAQ question/answer entries. Supports pagination, filtering, and sorting.\n * @param data The data for the request.\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @returns FaqSchema Successful Response\n * @throws ApiError\n */\nexport const getMultiFaqGet = (\n data: GetMultiFaqGetData = {},\n): CancelablePromise<GetMultiFaqGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/faq/',\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create FAQ entry\n * Add a new FAQ question and answer. Requires authentication. Returns 409 if a FAQ with the same question already exists.\n * @param data The data for the request.\n * @param data.requestBody\n * @returns FaqCreated Successful Response\n * @throws ApiError\n */\nexport const createFaqPost = (\n data: CreateFaqPostData,\n): CancelablePromise<CreateFaqPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/faq/',\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get FAQ entry\n * Retrieve a single FAQ entry by its UUID.\n * @param data The data for the request.\n * @param data.id\n * @returns FaqSchema Successful Response\n * @throws ApiError\n */\nexport const getByIdFaqIdGet = (\n data: GetByIdFaqIdGetData,\n): CancelablePromise<GetByIdFaqIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/faq/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update FAQ entry\n * Update an existing FAQ entry's question, answer, or category. Returns 409 if another entry already uses the same question.\n * @param data The data for the request.\n * @param data.faqId\n * @param data.requestBody\n * @returns FaqUpdated Successful Response\n * @throws ApiError\n */\nexport const updateFaqFaqIdPut = (\n data: UpdateFaqFaqIdPutData,\n): CancelablePromise<UpdateFaqFaqIdPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/faq/{faq_id}',\n path: {\n faq_id: data.faqId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete FAQ entry\n * Remove a FAQ entry. Requires authentication.\n * @param data The data for the request.\n * @param data.faqId\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteFaqFaqIdDelete = (\n data: DeleteFaqFaqIdDeleteData,\n): CancelablePromise<DeleteFaqFaqIdDeleteResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/faq/{faq_id}',\n path: {\n faq_id: data.faqId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Send Test Order Confirmation\n * Send a synthetic order confirmation mail through the configured SMTP.\n *\n * Intended for local testing against Mailpit. Gated by settings.MAIL_TEST_ENDPOINT_ENABLED.\n * @param data The data for the request.\n * @param data.requestBody\n * @returns MailTestResponse Successful Response\n * @throws ApiError\n */\nexport const sendTestOrderConfirmationMailTestSendOrderConfirmationPost = (\n data: SendTestOrderConfirmationMailTestSendOrderConfirmationPostData = {},\n): CancelablePromise<SendTestOrderConfirmationMailTestSendOrderConfirmationPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/mail-test/send-order-confirmation',\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n"],"mappings":"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","names":["request","resolve","headers","request","resolve"]}
1
+ {"version":3,"sources":["../src/api/generated/core/ApiError.ts","../src/api/generated/core/CancelablePromise.ts","../src/api/generated/core/OpenAPI.ts","../src/api/generated/schemas.gen.ts","../src/api/generated/core/request.ts","../src/api/generated/services.gen.ts"],"sourcesContent":["import type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n public readonly url: string;\n public readonly status: number;\n public readonly statusText: string;\n public readonly body: unknown;\n public readonly request: ApiRequestOptions;\n\n constructor(\n request: ApiRequestOptions,\n response: ApiResult,\n message: string,\n ) {\n super(message);\n\n this.name = 'ApiError';\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.body = response.body;\n this.request = request;\n }\n}\n","export class CancelError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'CancelError';\n }\n\n public get isCancelled(): boolean {\n return true;\n }\n}\n\nexport interface OnCancel {\n readonly isResolved: boolean;\n readonly isRejected: boolean;\n readonly isCancelled: boolean;\n\n (cancelHandler: () => void): void;\n}\n\nexport class CancelablePromise<T> implements Promise<T> {\n private _isResolved: boolean;\n private _isRejected: boolean;\n private _isCancelled: boolean;\n readonly cancelHandlers: (() => void)[];\n readonly promise: Promise<T>;\n private _resolve?: (value: T | PromiseLike<T>) => void;\n private _reject?: (reason?: unknown) => void;\n\n constructor(\n executor: (\n resolve: (value: T | PromiseLike<T>) => void,\n reject: (reason?: unknown) => void,\n onCancel: OnCancel,\n ) => void,\n ) {\n this._isResolved = false;\n this._isRejected = false;\n this._isCancelled = false;\n this.cancelHandlers = [];\n this.promise = new Promise<T>((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n\n const onResolve = (value: T | PromiseLike<T>): void => {\n if (this._isResolved || this._isRejected || this._isCancelled) {\n return;\n }\n this._isResolved = true;\n if (this._resolve) this._resolve(value);\n };\n\n const onReject = (reason?: unknown): void => {\n if (this._isResolved || this._isRejected || this._isCancelled) {\n return;\n }\n this._isRejected = true;\n if (this._reject) this._reject(reason);\n };\n\n const onCancel = (cancelHandler: () => void): void => {\n if (this._isResolved || this._isRejected || this._isCancelled) {\n return;\n }\n this.cancelHandlers.push(cancelHandler);\n };\n\n Object.defineProperty(onCancel, 'isResolved', {\n get: (): boolean => this._isResolved,\n });\n\n Object.defineProperty(onCancel, 'isRejected', {\n get: (): boolean => this._isRejected,\n });\n\n Object.defineProperty(onCancel, 'isCancelled', {\n get: (): boolean => this._isCancelled,\n });\n\n return executor(onResolve, onReject, onCancel as OnCancel);\n });\n }\n\n get [Symbol.toStringTag]() {\n return 'Cancellable Promise';\n }\n\n public then<TResult1 = T, TResult2 = never>(\n onFulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,\n onRejected?:\n ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null,\n ): Promise<TResult1 | TResult2> {\n return this.promise.then(onFulfilled, onRejected);\n }\n\n public catch<TResult = never>(\n onRejected?:\n ((reason: unknown) => TResult | PromiseLike<TResult>) | null,\n ): Promise<T | TResult> {\n return this.promise.catch(onRejected);\n }\n\n public finally(onFinally?: (() => void) | null): Promise<T> {\n return this.promise.finally(onFinally);\n }\n\n public cancel(): void {\n if (this._isResolved || this._isRejected || this._isCancelled) {\n return;\n }\n this._isCancelled = true;\n if (this.cancelHandlers.length) {\n try {\n for (const cancelHandler of this.cancelHandlers) {\n cancelHandler();\n }\n } catch (error) {\n console.warn('Cancellation threw an error', error);\n return;\n }\n }\n this.cancelHandlers.length = 0;\n if (this._reject) this._reject(new CancelError('Request aborted'));\n }\n\n public get isCancelled(): boolean {\n return this._isCancelled;\n }\n}\n","import type { ApiRequestOptions } from './ApiRequestOptions';\n\ntype Headers = Record<string, string>;\ntype Middleware<T> = (value: T) => T | Promise<T>;\ntype Resolver<T> = (options: ApiRequestOptions) => Promise<T>;\n\nexport class Interceptors<T> {\n _fns: Middleware<T>[];\n\n constructor() {\n this._fns = [];\n }\n\n eject(fn: Middleware<T>): void {\n const index = this._fns.indexOf(fn);\n if (index !== -1) {\n this._fns = [\n ...this._fns.slice(0, index),\n ...this._fns.slice(index + 1),\n ];\n }\n }\n\n use(fn: Middleware<T>): void {\n this._fns = [...this._fns, fn];\n }\n}\n\nexport type OpenAPIConfig = {\n BASE: string;\n CREDENTIALS: 'include' | 'omit' | 'same-origin';\n ENCODE_PATH?: ((path: string) => string) | undefined;\n HEADERS?: Headers | Resolver<Headers> | undefined;\n PASSWORD?: string | Resolver<string> | undefined;\n TOKEN?: string | Resolver<string> | undefined;\n USERNAME?: string | Resolver<string> | undefined;\n VERSION: string;\n WITH_CREDENTIALS: boolean;\n interceptors: {\n request: Interceptors<RequestInit>;\n response: Interceptors<Response>;\n };\n};\n\nexport const OpenAPI: OpenAPIConfig = {\n BASE: '',\n CREDENTIALS: 'include',\n ENCODE_PATH: undefined,\n HEADERS: undefined,\n PASSWORD: undefined,\n TOKEN: undefined,\n USERNAME: undefined,\n VERSION: '0.6.0',\n WITH_CREDENTIALS: false,\n interceptors: {\n request: new Interceptors(),\n response: new Interceptors(),\n },\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nexport const $AccountCreate = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n details: {\n additionalProperties: true,\n type: 'object',\n title: 'Details',\n },\n },\n type: 'object',\n required: ['shop_id', 'name', 'details'],\n title: 'AccountCreate',\n} as const;\n\nexport const $AccountSchema = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n details: {\n additionalProperties: true,\n type: 'object',\n title: 'Details',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: ['shop_id', 'name', 'details', 'id'],\n title: 'AccountSchema',\n} as const;\n\nexport const $AccountUpdate = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n details: {\n additionalProperties: true,\n type: 'object',\n title: 'Details',\n },\n },\n type: 'object',\n required: ['shop_id', 'name', 'details'],\n title: 'AccountUpdate',\n} as const;\n\nexport const $AdminAccountSchema = {\n properties: {\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n shop_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shop Id',\n },\n shop_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shop Name',\n },\n name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Name',\n },\n hash_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Hash Name',\n },\n details: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'null',\n },\n ],\n title: 'Details',\n },\n stripe_customer_id: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Stripe Customer Id',\n },\n stripe_synced_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Stripe Synced At',\n },\n },\n type: 'object',\n required: ['id'],\n title: 'AdminAccountSchema',\n} as const;\n\nexport const $ApiKeyCreate = {\n properties: {\n name: {\n type: 'string',\n title: 'Name',\n },\n },\n type: 'object',\n required: ['name'],\n title: 'ApiKeyCreate',\n} as const;\n\nexport const $ApiKeyCreated = {\n properties: {\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n prefix: {\n type: 'string',\n title: 'Prefix',\n },\n created_at: {\n type: 'string',\n format: 'date-time',\n title: 'Created At',\n },\n last_used_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Last Used At',\n },\n revoked_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Revoked At',\n },\n plaintext: {\n type: 'string',\n title: 'Plaintext',\n },\n },\n type: 'object',\n required: ['id', 'name', 'prefix', 'created_at', 'plaintext'],\n title: 'ApiKeyCreated',\n description:\n 'Response from minting a key. ``plaintext`` is shown ONCE — never again.',\n} as const;\n\nexport const $ApiKeyRead = {\n properties: {\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n prefix: {\n type: 'string',\n title: 'Prefix',\n },\n created_at: {\n type: 'string',\n format: 'date-time',\n title: 'Created At',\n },\n last_used_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Last Used At',\n },\n revoked_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Revoked At',\n },\n },\n type: 'object',\n required: ['id', 'name', 'prefix', 'created_at'],\n title: 'ApiKeyRead',\n} as const;\n\nexport const $AttributeCreate = {\n properties: {\n name: {\n type: 'string',\n title: 'Name',\n },\n unit: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Unit',\n },\n translation: {\n anyOf: [\n {\n $ref: '#/components/schemas/AttributeTranslationBase',\n },\n {\n type: 'null',\n },\n ],\n },\n },\n type: 'object',\n required: ['name'],\n title: 'AttributeCreate',\n} as const;\n\nexport const $AttributeOptionCreate = {\n properties: {\n attribute_id: {\n type: 'string',\n format: 'uuid',\n title: 'Attribute Id',\n },\n value_key: {\n type: 'string',\n title: 'Value Key',\n },\n },\n type: 'object',\n required: ['attribute_id', 'value_key'],\n title: 'AttributeOptionCreate',\n} as const;\n\nexport const $AttributeOptionSchema = {\n properties: {\n attribute_id: {\n type: 'string',\n format: 'uuid',\n title: 'Attribute Id',\n },\n value_key: {\n type: 'string',\n title: 'Value Key',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: ['attribute_id', 'value_key', 'id'],\n title: 'AttributeOptionSchema',\n} as const;\n\nexport const $AttributeOptionUpdate = {\n properties: {\n value_key: {\n type: 'string',\n title: 'Value Key',\n },\n },\n type: 'object',\n required: ['value_key'],\n title: 'AttributeOptionUpdate',\n} as const;\n\nexport const $AttributeSchema = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n unit: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Unit',\n },\n translation: {\n anyOf: [\n {\n $ref: '#/components/schemas/AttributeTranslationBase',\n },\n {\n type: 'null',\n },\n ],\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: ['shop_id', 'name', 'id'],\n title: 'AttributeSchema',\n} as const;\n\nexport const $AttributeTranslationBase = {\n properties: {\n main_name: {\n type: 'string',\n title: 'Main Name',\n },\n alt1_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Name',\n },\n alt2_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Name',\n },\n },\n type: 'object',\n required: ['main_name'],\n title: 'AttributeTranslationBase',\n} as const;\n\nexport const $AttributeUpdate = {\n properties: {\n name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Name',\n },\n unit: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Unit',\n },\n translation: {\n anyOf: [\n {\n $ref: '#/components/schemas/AttributeTranslationBase',\n },\n {\n type: 'null',\n },\n ],\n },\n },\n type: 'object',\n title: 'AttributeUpdate',\n} as const;\n\nexport const $AttributeWithOptionsSchema = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n unit: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Unit',\n },\n translation: {\n anyOf: [\n {\n $ref: '#/components/schemas/AttributeTranslationBase',\n },\n {\n type: 'null',\n },\n ],\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n options: {\n items: {\n $ref: '#/components/schemas/AttributeOptionSchema',\n },\n type: 'array',\n title: 'Options',\n default: [],\n },\n },\n type: 'object',\n required: ['shop_id', 'name', 'id'],\n title: 'AttributeWithOptionsSchema',\n} as const;\n\nexport const $AvailableAttributeSchema = {\n properties: {\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n unit: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Unit',\n },\n translation: {\n anyOf: [\n {\n $ref: '#/components/schemas/AttributeTranslationBase',\n },\n {\n type: 'null',\n },\n ],\n },\n options: {\n items: {\n $ref: '#/components/schemas/AvailableOptionSchema',\n },\n type: 'array',\n title: 'Options',\n default: [],\n },\n },\n type: 'object',\n required: ['id', 'name'],\n title: 'AvailableAttributeSchema',\n} as const;\n\nexport const $AvailableOptionSchema = {\n properties: {\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n value_key: {\n type: 'string',\n title: 'Value Key',\n },\n product_count: {\n type: 'integer',\n title: 'Product Count',\n },\n },\n type: 'object',\n required: ['id', 'value_key', 'product_count'],\n title: 'AvailableOptionSchema',\n} as const;\n\nexport const $Cart = {\n properties: {\n products: {\n items: {\n type: 'string',\n format: 'uuid',\n },\n type: 'array',\n title: 'Products',\n },\n },\n type: 'object',\n required: ['products'],\n title: 'Cart',\n} as const;\n\nexport const $CategoryCreate = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n color: {\n type: 'string',\n title: 'Color',\n },\n icon: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Icon',\n },\n order_number: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Order Number',\n },\n translation: {\n $ref: '#/components/schemas/CategoryTranslationBase',\n },\n main_image: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Main Image',\n },\n alt1_image: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Image',\n },\n alt2_image: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Image',\n },\n },\n type: 'object',\n required: ['shop_id', 'color', 'translation'],\n title: 'CategoryCreate',\n} as const;\n\nexport const $CategoryImageDelete = {\n properties: {\n image: {\n type: 'string',\n title: 'Image',\n },\n },\n type: 'object',\n required: ['image'],\n title: 'CategoryImageDelete',\n} as const;\n\nexport const $CategorySchema = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n color: {\n type: 'string',\n title: 'Color',\n },\n icon: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Icon',\n },\n order_number: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Order Number',\n },\n translation: {\n $ref: '#/components/schemas/CategoryTranslationBase',\n },\n main_image: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Main Image',\n },\n alt1_image: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Image',\n },\n alt2_image: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Image',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: ['shop_id', 'color', 'translation', 'id'],\n title: 'CategorySchema',\n} as const;\n\nexport const $CategoryTranslationBase = {\n properties: {\n main_name: {\n type: 'string',\n title: 'Main Name',\n },\n main_description: {\n type: 'string',\n title: 'Main Description',\n },\n alt1_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Name',\n },\n alt1_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Description',\n },\n alt2_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Name',\n },\n alt2_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Description',\n },\n },\n type: 'object',\n required: ['main_name', 'main_description'],\n title: 'CategoryTranslationBase',\n} as const;\n\nexport const $CategoryTranslationUpdate = {\n properties: {\n main_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Main Name',\n },\n main_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Main Description',\n },\n alt1_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Name',\n },\n alt1_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Description',\n },\n alt2_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Name',\n },\n alt2_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Description',\n },\n },\n type: 'object',\n title: 'CategoryTranslationUpdate',\n} as const;\n\nexport const $CategoryUpdate = {\n properties: {\n shop_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shop Id',\n },\n color: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Color',\n },\n icon: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Icon',\n },\n order_number: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Order Number',\n },\n translation: {\n anyOf: [\n {\n $ref: '#/components/schemas/CategoryTranslationUpdate',\n },\n {\n type: 'null',\n },\n ],\n },\n main_image: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Main Image',\n },\n alt1_image: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Image',\n },\n alt2_image: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Image',\n },\n },\n type: 'object',\n title: 'CategoryUpdate',\n} as const;\n\nexport const $ConfigurationContact = {\n properties: {\n company: {\n type: 'string',\n title: 'Company',\n },\n website: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Website',\n },\n phone: {\n type: 'string',\n maxLength: 64,\n minLength: 7,\n format: 'phone',\n title: 'Phone',\n },\n email: {\n type: 'string',\n format: 'email',\n title: 'Email',\n },\n address: {\n type: 'string',\n title: 'Address',\n },\n zip_code: {\n type: 'string',\n title: 'Zip Code',\n },\n city: {\n type: 'string',\n title: 'City',\n },\n twitter: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Twitter',\n },\n facebook: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Facebook',\n },\n instagram: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Instagram',\n },\n linkedin: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Linkedin',\n },\n tiktok: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Tiktok',\n },\n },\n type: 'object',\n required: ['company', 'phone', 'email', 'address', 'zip_code', 'city'],\n title: 'ConfigurationContact',\n} as const;\n\nexport const $ConfigurationLanguageFieldMenuItems = {\n properties: {\n about: {\n type: 'string',\n title: 'About',\n },\n cart: {\n type: 'string',\n title: 'Cart',\n },\n checkout: {\n type: 'string',\n title: 'Checkout',\n },\n products: {\n type: 'string',\n title: 'Products',\n },\n contact: {\n type: 'string',\n title: 'Contact',\n },\n policies: {\n type: 'string',\n title: 'Policies',\n },\n terms: {\n type: 'string',\n title: 'Terms',\n },\n privacy_policy: {\n type: 'string',\n title: 'Privacy Policy',\n },\n return_policy: {\n type: 'string',\n title: 'Return Policy',\n },\n website: {\n type: 'string',\n title: 'Website',\n },\n phone: {\n type: 'string',\n title: 'Phone',\n },\n email: {\n type: 'string',\n title: 'Email',\n },\n address: {\n type: 'string',\n title: 'Address',\n },\n },\n type: 'object',\n required: [\n 'about',\n 'cart',\n 'checkout',\n 'products',\n 'contact',\n 'policies',\n 'terms',\n 'privacy_policy',\n 'return_policy',\n 'website',\n 'phone',\n 'email',\n 'address',\n ],\n title: 'ConfigurationLanguageFieldMenuItems',\n} as const;\n\nexport const $ConfigurationLanguageFieldStaticTexts = {\n properties: {\n about: {\n type: 'string',\n title: 'About',\n },\n terms: {\n type: 'string',\n title: 'Terms',\n },\n privacy_policy: {\n type: 'string',\n title: 'Privacy Policy',\n },\n return_policy: {\n type: 'string',\n title: 'Return Policy',\n },\n },\n type: 'object',\n required: ['about', 'terms', 'privacy_policy', 'return_policy'],\n title: 'ConfigurationLanguageFieldStaticTexts',\n} as const;\n\nexport const $ConfigurationLanguageFields = {\n properties: {\n language_name: {\n type: 'string',\n title: 'Language Name',\n },\n menu_items: {\n $ref: '#/components/schemas/ConfigurationLanguageFieldMenuItems',\n },\n static_texts: {\n $ref: '#/components/schemas/ConfigurationLanguageFieldStaticTexts',\n },\n },\n type: 'object',\n required: ['language_name', 'menu_items', 'static_texts'],\n title: 'ConfigurationLanguageFields',\n} as const;\n\nexport const $ConfigurationLanguages = {\n properties: {\n main: {\n $ref: '#/components/schemas/ConfigurationLanguageFields',\n },\n alt1: {\n anyOf: [\n {\n $ref: '#/components/schemas/ConfigurationLanguageFields',\n },\n {\n type: 'null',\n },\n ],\n },\n alt2: {\n anyOf: [\n {\n $ref: '#/components/schemas/ConfigurationLanguageFields',\n },\n {\n type: 'null',\n },\n ],\n },\n },\n type: 'object',\n required: ['main'],\n title: 'ConfigurationLanguages',\n} as const;\n\nexport const $ConfigurationLegal = {\n properties: {\n kvk_number: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Kvk Number',\n },\n btw_number: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Btw Number',\n },\n },\n type: 'object',\n title: 'ConfigurationLegal',\n} as const;\n\nexport const $ConfigurationOrderStatusMails = {\n properties: {\n owner_notification_enabled: {\n type: 'boolean',\n title: 'Owner Notification Enabled',\n default: true,\n },\n owner_notification_email: {\n anyOf: [\n {\n type: 'string',\n format: 'email',\n },\n {\n type: 'null',\n },\n ],\n title: 'Owner Notification Email',\n },\n copy_enabled: {\n type: 'boolean',\n title: 'Copy Enabled',\n default: false,\n },\n copy_email: {\n anyOf: [\n {\n type: 'string',\n format: 'email',\n },\n {\n type: 'null',\n },\n ],\n title: 'Copy Email',\n },\n },\n type: 'object',\n title: 'ConfigurationOrderStatusMails',\n} as const;\n\nexport const $ConfigurationShipping_Input = {\n properties: {\n enabled: {\n type: 'boolean',\n title: 'Enabled',\n default: false,\n },\n method: {\n type: 'string',\n title: 'Method',\n default: 'fixed',\n },\n fixed_fee: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Fixed Fee',\n default: '0',\n },\n vat_calculation_enabled: {\n type: 'boolean',\n title: 'Vat Calculation Enabled',\n default: true,\n },\n free_shipping_above_enabled: {\n type: 'boolean',\n title: 'Free Shipping Above Enabled',\n default: false,\n },\n free_shipping_above_amount: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Free Shipping Above Amount',\n default: '0',\n },\n },\n type: 'object',\n title: 'ConfigurationShipping',\n} as const;\n\nexport const $ConfigurationShipping_Output = {\n properties: {\n enabled: {\n type: 'boolean',\n title: 'Enabled',\n default: false,\n },\n method: {\n type: 'string',\n title: 'Method',\n default: 'fixed',\n },\n fixed_fee: {\n type: 'number',\n title: 'Fixed Fee',\n default: 0,\n },\n vat_calculation_enabled: {\n type: 'boolean',\n title: 'Vat Calculation Enabled',\n default: true,\n },\n free_shipping_above_enabled: {\n type: 'boolean',\n title: 'Free Shipping Above Enabled',\n default: false,\n },\n free_shipping_above_amount: {\n type: 'number',\n title: 'Free Shipping Above Amount',\n default: 0,\n },\n },\n type: 'object',\n title: 'ConfigurationShipping',\n} as const;\n\nexport const $ConfigurationV1_Input = {\n properties: {\n short_shop_name: {\n type: 'string',\n title: 'Short Shop Name',\n },\n logo: {\n type: 'string',\n title: 'Logo',\n },\n main_banner: {\n type: 'string',\n title: 'Main Banner',\n },\n alt1_banner: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Banner',\n },\n alt2_banner: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Banner',\n },\n gradient_percentage: {\n type: 'integer',\n title: 'Gradient Percentage',\n default: 75,\n },\n languages: {\n $ref: '#/components/schemas/ConfigurationLanguages',\n },\n google_analytics_id: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Google Analytics Id',\n },\n contact: {\n $ref: '#/components/schemas/ConfigurationContact',\n },\n toggles: {\n $ref: '#/components/schemas/Toggles',\n },\n legal: {\n anyOf: [\n {\n $ref: '#/components/schemas/ConfigurationLegal',\n },\n {\n type: 'null',\n },\n ],\n },\n shipping: {\n anyOf: [\n {\n $ref: '#/components/schemas/ConfigurationShipping-Input',\n },\n {\n type: 'null',\n },\n ],\n },\n order_status_mails: {\n anyOf: [\n {\n $ref: '#/components/schemas/ConfigurationOrderStatusMails',\n },\n {\n type: 'null',\n },\n ],\n },\n },\n type: 'object',\n required: [\n 'short_shop_name',\n 'logo',\n 'main_banner',\n 'languages',\n 'contact',\n 'toggles',\n ],\n title: 'ConfigurationV1',\n} as const;\n\nexport const $ConfigurationV1_Output = {\n properties: {\n short_shop_name: {\n type: 'string',\n title: 'Short Shop Name',\n },\n logo: {\n type: 'string',\n title: 'Logo',\n },\n main_banner: {\n type: 'string',\n title: 'Main Banner',\n },\n alt1_banner: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Banner',\n },\n alt2_banner: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Banner',\n },\n gradient_percentage: {\n type: 'integer',\n title: 'Gradient Percentage',\n default: 75,\n },\n languages: {\n $ref: '#/components/schemas/ConfigurationLanguages',\n },\n google_analytics_id: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Google Analytics Id',\n },\n contact: {\n $ref: '#/components/schemas/ConfigurationContact',\n },\n toggles: {\n $ref: '#/components/schemas/Toggles',\n },\n legal: {\n anyOf: [\n {\n $ref: '#/components/schemas/ConfigurationLegal',\n },\n {\n type: 'null',\n },\n ],\n },\n shipping: {\n anyOf: [\n {\n $ref: '#/components/schemas/ConfigurationShipping-Output',\n },\n {\n type: 'null',\n },\n ],\n },\n order_status_mails: {\n anyOf: [\n {\n $ref: '#/components/schemas/ConfigurationOrderStatusMails',\n },\n {\n type: 'null',\n },\n ],\n },\n },\n type: 'object',\n required: [\n 'short_shop_name',\n 'logo',\n 'main_banner',\n 'languages',\n 'contact',\n 'toggles',\n ],\n title: 'ConfigurationV1',\n} as const;\n\nexport const $DefaultPrice = {\n properties: {\n id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Id',\n },\n created_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Created At',\n },\n modified_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Modified At',\n },\n internal_product_id: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Internal Product Id',\n },\n active: {\n anyOf: [\n {\n type: 'boolean',\n },\n {\n type: 'null',\n },\n ],\n title: 'Active',\n },\n new: {\n anyOf: [\n {\n type: 'boolean',\n },\n {\n type: 'null',\n },\n ],\n title: 'New',\n },\n one: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'One',\n },\n two_five: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Two Five',\n },\n five: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Five',\n },\n joint: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Joint',\n },\n piece: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Piece',\n },\n },\n type: 'object',\n title: 'DefaultPrice',\n} as const;\n\nexport const $EarlyAccessCreate = {\n properties: {\n email: {\n type: 'string',\n format: 'email',\n title: 'Email',\n },\n },\n type: 'object',\n required: ['email'],\n title: 'EarlyAccessCreate',\n} as const;\n\nexport const $FaqCreate = {\n properties: {\n question: {\n type: 'string',\n title: 'Question',\n },\n answer: {\n type: 'string',\n title: 'Answer',\n },\n category: {\n type: 'string',\n title: 'Category',\n },\n },\n type: 'object',\n required: ['question', 'answer', 'category'],\n title: 'FaqCreate',\n} as const;\n\nexport const $FaqCreated = {\n properties: {\n question: {\n type: 'string',\n title: 'Question',\n },\n answer: {\n type: 'string',\n title: 'Answer',\n },\n category: {\n type: 'string',\n title: 'Category',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n created_at: {\n type: 'string',\n format: 'date-time',\n title: 'Created At',\n },\n modified_at: {\n type: 'string',\n format: 'date-time',\n title: 'Modified At',\n },\n },\n type: 'object',\n required: [\n 'question',\n 'answer',\n 'category',\n 'id',\n 'created_at',\n 'modified_at',\n ],\n title: 'FaqCreated',\n} as const;\n\nexport const $FaqSchema = {\n properties: {\n question: {\n type: 'string',\n title: 'Question',\n },\n answer: {\n type: 'string',\n title: 'Answer',\n },\n category: {\n type: 'string',\n title: 'Category',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n created_at: {\n type: 'string',\n format: 'date-time',\n title: 'Created At',\n },\n modified_at: {\n type: 'string',\n format: 'date-time',\n title: 'Modified At',\n },\n },\n type: 'object',\n required: [\n 'question',\n 'answer',\n 'category',\n 'id',\n 'created_at',\n 'modified_at',\n ],\n title: 'FaqSchema',\n} as const;\n\nexport const $FaqUpdate = {\n properties: {\n question: {\n type: 'string',\n title: 'Question',\n },\n answer: {\n type: 'string',\n title: 'Answer',\n },\n category: {\n type: 'string',\n title: 'Category',\n },\n },\n type: 'object',\n required: ['question', 'answer', 'category'],\n title: 'FaqUpdate',\n} as const;\n\nexport const $FaqUpdated = {\n properties: {\n question: {\n type: 'string',\n title: 'Question',\n },\n answer: {\n type: 'string',\n title: 'Answer',\n },\n category: {\n type: 'string',\n title: 'Category',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: ['question', 'answer', 'category', 'id'],\n title: 'FaqUpdated',\n} as const;\n\nexport const $HTTPValidationError = {\n properties: {\n detail: {\n items: {\n $ref: '#/components/schemas/ValidationError',\n },\n type: 'array',\n title: 'Detail',\n },\n },\n type: 'object',\n title: 'HTTPValidationError',\n} as const;\n\nexport const $Lang = {\n type: 'string',\n enum: ['main', 'alt1', 'alt2'],\n title: 'Lang',\n description: 'Language options.',\n} as const;\n\nexport const $LicenseCreate = {\n properties: {\n name: {\n type: 'string',\n title: 'Name',\n },\n improviser_user: {\n type: 'string',\n format: 'uuid',\n title: 'Improviser User',\n },\n is_recurring: {\n type: 'boolean',\n title: 'Is Recurring',\n },\n seats: {\n type: 'number',\n title: 'Seats',\n },\n order_id: {\n type: 'string',\n format: 'uuid',\n title: 'Order Id',\n },\n end_date: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'End Date',\n },\n },\n type: 'object',\n required: [\n 'name',\n 'improviser_user',\n 'is_recurring',\n 'seats',\n 'order_id',\n 'end_date',\n ],\n title: 'LicenseCreate',\n} as const;\n\nexport const $LicenseSchema = {\n properties: {\n name: {\n type: 'string',\n title: 'Name',\n },\n improviser_user: {\n type: 'string',\n format: 'uuid',\n title: 'Improviser User',\n },\n is_recurring: {\n type: 'boolean',\n title: 'Is Recurring',\n },\n seats: {\n type: 'number',\n title: 'Seats',\n },\n order_id: {\n type: 'string',\n format: 'uuid',\n title: 'Order Id',\n },\n end_date: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'End Date',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n modified_at: {\n type: 'string',\n format: 'date-time',\n title: 'Modified At',\n },\n created_at: {\n type: 'string',\n format: 'date-time',\n title: 'Created At',\n },\n start_date: {\n type: 'string',\n format: 'date-time',\n title: 'Start Date',\n },\n },\n type: 'object',\n required: [\n 'name',\n 'improviser_user',\n 'is_recurring',\n 'seats',\n 'order_id',\n 'end_date',\n 'id',\n 'modified_at',\n 'created_at',\n 'start_date',\n ],\n title: 'LicenseSchema',\n} as const;\n\nexport const $LicenseUpdate = {\n properties: {\n seats: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Seats',\n },\n end_date: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'End Date',\n },\n },\n type: 'object',\n required: ['seats', 'end_date'],\n title: 'LicenseUpdate',\n} as const;\n\nexport const $LinkStripeBody = {\n properties: {\n stripe_customer_id: {\n type: 'string',\n title: 'Stripe Customer Id',\n },\n },\n type: 'object',\n required: ['stripe_customer_id'],\n title: 'LinkStripeBody',\n} as const;\n\nexport const $MailTestRequest = {\n properties: {\n to: {\n type: 'string',\n format: 'email',\n title: 'To',\n default: 'customer@example.com',\n },\n shop_name: {\n type: 'string',\n title: 'Shop Name',\n default: 'ShopVirge Dev',\n },\n owner_email: {\n anyOf: [\n {\n type: 'string',\n format: 'email',\n },\n {\n type: 'null',\n },\n ],\n title: 'Owner Email',\n },\n },\n type: 'object',\n title: 'MailTestRequest',\n} as const;\n\nexport const $MailTestResponse = {\n properties: {\n sent_to_customer: {\n type: 'string',\n format: 'email',\n title: 'Sent To Customer',\n },\n sent_to_owner: {\n anyOf: [\n {\n type: 'string',\n format: 'email',\n },\n {\n type: 'null',\n },\n ],\n title: 'Sent To Owner',\n },\n customer_order_id: {\n type: 'integer',\n title: 'Customer Order Id',\n },\n },\n type: 'object',\n required: ['sent_to_customer', 'sent_to_owner', 'customer_order_id'],\n title: 'MailTestResponse',\n} as const;\n\nexport const $MyShopsResponse = {\n properties: {\n shops: {\n items: {\n $ref: '#/components/schemas/ShopSchema',\n },\n type: 'array',\n title: 'Shops',\n },\n is_admin: {\n type: 'boolean',\n title: 'Is Admin',\n },\n can_write: {\n type: 'boolean',\n title: 'Can Write',\n },\n },\n type: 'object',\n required: ['shops', 'is_admin', 'can_write'],\n title: 'MyShopsResponse',\n} as const;\n\nexport const $OrderCreate = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n order_info: {\n items: {\n $ref: '#/components/schemas/OrderItemCreate',\n },\n type: 'array',\n title: 'Order Info',\n },\n account_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Account Id',\n },\n account_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Account Name',\n },\n notes: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Notes',\n },\n },\n additionalProperties: false,\n type: 'object',\n required: ['shop_id', 'order_info'],\n title: 'OrderCreate',\n} as const;\n\nexport const $OrderCreated = {\n properties: {\n account_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Account Id',\n },\n total: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Total',\n },\n notes: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Notes',\n },\n customer_order_id: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Customer Order Id',\n },\n status: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Status',\n },\n shipping_fee_inc_btw: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shipping Fee Inc Btw',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n created_at: {\n type: 'string',\n format: 'date-time',\n title: 'Created At',\n },\n completed_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Completed At',\n },\n account_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Account Name',\n },\n },\n type: 'object',\n required: [\n 'total',\n 'notes',\n 'customer_order_id',\n 'status',\n 'id',\n 'created_at',\n 'account_name',\n ],\n title: 'OrderCreated',\n} as const;\n\nexport const $OrderItem_Input = {\n properties: {\n description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Description',\n },\n price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Price',\n },\n product_id: {\n type: 'string',\n format: 'uuid',\n title: 'Product Id',\n },\n product_name: {\n type: 'string',\n title: 'Product Name',\n },\n quantity: {\n type: 'integer',\n title: 'Quantity',\n },\n plan: {\n anyOf: [\n {\n type: 'string',\n enum: ['onetime', 'monthly', 'yearly'],\n },\n {\n type: 'null',\n },\n ],\n title: 'Plan',\n },\n },\n type: 'object',\n required: ['price', 'product_id', 'product_name', 'quantity'],\n title: 'OrderItem',\n} as const;\n\nexport const $OrderItem_Output = {\n properties: {\n description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Description',\n },\n price: {\n type: 'number',\n title: 'Price',\n },\n product_id: {\n type: 'string',\n format: 'uuid',\n title: 'Product Id',\n },\n product_name: {\n type: 'string',\n title: 'Product Name',\n },\n quantity: {\n type: 'integer',\n title: 'Quantity',\n },\n plan: {\n anyOf: [\n {\n type: 'string',\n enum: ['onetime', 'monthly', 'yearly'],\n },\n {\n type: 'null',\n },\n ],\n title: 'Plan',\n },\n },\n type: 'object',\n required: ['price', 'product_id', 'product_name', 'quantity'],\n title: 'OrderItem',\n} as const;\n\nexport const $OrderItemCreate = {\n properties: {\n description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Description',\n },\n product_id: {\n type: 'string',\n format: 'uuid',\n title: 'Product Id',\n },\n product_name: {\n type: 'string',\n title: 'Product Name',\n },\n quantity: {\n type: 'integer',\n title: 'Quantity',\n },\n plan: {\n type: 'string',\n enum: ['onetime', 'monthly', 'yearly'],\n title: 'Plan',\n default: 'onetime',\n },\n },\n additionalProperties: false,\n type: 'object',\n required: ['product_id', 'product_name', 'quantity'],\n title: 'OrderItemCreate',\n} as const;\n\nexport const $OrderQuote = {\n properties: {\n order_info: {\n items: {\n $ref: '#/components/schemas/OrderItem-Output',\n },\n type: 'array',\n title: 'Order Info',\n },\n subtotal: {\n type: 'number',\n title: 'Subtotal',\n },\n shipping_fee_inc_btw: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shipping Fee Inc Btw',\n },\n free_shipping_applied: {\n type: 'boolean',\n title: 'Free Shipping Applied',\n default: false,\n },\n free_shipping_threshold: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Free Shipping Threshold',\n },\n total: {\n type: 'number',\n title: 'Total',\n },\n },\n type: 'object',\n required: ['order_info', 'subtotal', 'total'],\n title: 'OrderQuote',\n} as const;\n\nexport const $OrderQuoteRequest = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n order_info: {\n items: {\n $ref: '#/components/schemas/OrderItemCreate',\n },\n type: 'array',\n title: 'Order Info',\n },\n },\n additionalProperties: false,\n type: 'object',\n required: ['shop_id', 'order_info'],\n title: 'OrderQuoteRequest',\n} as const;\n\nexport const $OrderSchema = {\n properties: {\n account_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Account Id',\n },\n total: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Total',\n },\n notes: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Notes',\n },\n customer_order_id: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Customer Order Id',\n },\n status: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Status',\n },\n shipping_fee_inc_btw: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shipping Fee Inc Btw',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n order_info: {\n items: {\n $ref: '#/components/schemas/OrderItem-Output',\n },\n type: 'array',\n title: 'Order Info',\n },\n created_at: {\n type: 'string',\n format: 'date-time',\n title: 'Created At',\n },\n completed_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Completed At',\n },\n account_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Account Name',\n },\n shop_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shop Name',\n },\n },\n type: 'object',\n required: [\n 'total',\n 'notes',\n 'customer_order_id',\n 'status',\n 'id',\n 'shop_id',\n 'order_info',\n 'created_at',\n 'account_name',\n 'shop_name',\n ],\n title: 'OrderSchema',\n} as const;\n\nexport const $OrderStatusUpdate = {\n properties: {\n status: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Status',\n },\n notes: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Notes',\n },\n },\n additionalProperties: false,\n type: 'object',\n title: 'OrderStatusUpdate',\n} as const;\n\nexport const $OrderUpdated = {\n properties: {\n account_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Account Id',\n },\n total: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Total',\n },\n notes: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Notes',\n },\n customer_order_id: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Customer Order Id',\n },\n status: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Status',\n },\n shipping_fee_inc_btw: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shipping Fee Inc Btw',\n },\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n order_info: {\n items: {\n $ref: '#/components/schemas/OrderItem-Output',\n },\n type: 'array',\n title: 'Order Info',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: [\n 'total',\n 'notes',\n 'customer_order_id',\n 'status',\n 'shop_id',\n 'order_info',\n 'id',\n ],\n title: 'OrderUpdated',\n} as const;\n\nexport const $ProductAttributeItem = {\n properties: {\n attribute_id: {\n type: 'string',\n format: 'uuid',\n title: 'Attribute Id',\n },\n attribute_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Attribute Name',\n },\n option_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Option Id',\n },\n option_value_key: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Option Value Key',\n },\n },\n type: 'object',\n required: ['attribute_id'],\n title: 'ProductAttributeItem',\n description: `Lightweight representation of a product's attribute value used in responses.\n\n- attribute_id: the AttributeTable id\n- attribute_name: translated main_name for display (optional, may be omitted in some endpoints)\n- option_id: the AttributeOptionTable id when the value is an enum option\n- option_value_key: the option key (e.g., \"XS\", \"M\") when applicable`,\n} as const;\n\nexport const $ProductAttributeOptionSelectionAdd = {\n properties: {\n option_ids: {\n items: {\n type: 'string',\n format: 'uuid',\n },\n type: 'array',\n title: 'Option Ids',\n },\n },\n type: 'object',\n required: ['option_ids'],\n title: 'ProductAttributeOptionSelectionAdd',\n description:\n 'Payload for creating or replacing selected attribute options for a product.',\n} as const;\n\nexport const $ProductAttributeOptionSelectionReplace = {\n properties: {\n option_ids: {\n items: {\n type: 'string',\n format: 'uuid',\n },\n type: 'array',\n title: 'Option Ids',\n },\n },\n type: 'object',\n required: ['option_ids'],\n title: 'ProductAttributeOptionSelectionReplace',\n description:\n 'Payload for creating or replacing selected attribute options for a product.',\n} as const;\n\nexport const $ProductAttributeValueBase = {\n properties: {\n product_id: {\n type: 'string',\n format: 'uuid',\n title: 'Product Id',\n },\n attribute_id: {\n type: 'string',\n format: 'uuid',\n title: 'Attribute Id',\n },\n option_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Option Id',\n },\n },\n type: 'object',\n required: ['product_id', 'attribute_id'],\n title: 'ProductAttributeValueBase',\n description: 'Base schema for product attribute values.',\n} as const;\n\nexport const $ProductAttributeValueSchema = {\n properties: {\n product_id: {\n type: 'string',\n format: 'uuid',\n title: 'Product Id',\n },\n attribute_id: {\n type: 'string',\n format: 'uuid',\n title: 'Attribute Id',\n },\n option_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Option Id',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: ['product_id', 'attribute_id', 'id'],\n title: 'ProductAttributeValueSchema',\n description: 'Schema for representing a product attribute value.',\n} as const;\n\nexport const $ProductCreate = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n category_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Category Id',\n },\n price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n {\n type: 'null',\n },\n ],\n title: 'Price',\n description:\n 'Unit price excluding VAT. Gross = price * (1 + tax_category rate).',\n },\n recurring_price_monthly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Monthly',\n },\n recurring_price_yearly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Yearly',\n },\n max_one: {\n type: 'boolean',\n title: 'Max One',\n },\n shippable: {\n type: 'boolean',\n title: 'Shippable',\n },\n digital: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Digital',\n },\n featured: {\n type: 'boolean',\n title: 'Featured',\n },\n new_product: {\n type: 'boolean',\n title: 'New Product',\n },\n tax_category: {\n type: 'string',\n title: 'Tax Category',\n },\n discounted_price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted Price',\n },\n discounted_from: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted From',\n },\n discounted_to: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted To',\n },\n order_number: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Order Number',\n },\n stock: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Stock',\n default: 1,\n },\n sku: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Sku',\n },\n image_1: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 1',\n },\n image_2: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 2',\n },\n image_3: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 3',\n },\n image_4: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 4',\n },\n image_5: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 5',\n },\n image_6: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 6',\n },\n translation: {\n $ref: '#/components/schemas/ProductTranslationCreate',\n },\n },\n type: 'object',\n required: [\n 'shop_id',\n 'max_one',\n 'shippable',\n 'featured',\n 'new_product',\n 'tax_category',\n 'translation',\n ],\n title: 'ProductCreate',\n} as const;\n\nexport const $ProductResponse = {\n properties: {\n id: {\n type: 'string',\n title: 'Id',\n },\n short_id: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Short Id',\n },\n sku: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Sku',\n },\n category: {\n type: 'string',\n title: 'Category',\n },\n category_image: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Category Image',\n },\n category_order_number: {\n type: 'integer',\n title: 'Category Order Number',\n },\n order_number: {\n type: 'integer',\n title: 'Order Number',\n },\n stock: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Stock',\n },\n tags: {\n items: {\n type: 'string',\n },\n type: 'array',\n title: 'Tags',\n default: [],\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n description_short: {\n type: 'string',\n title: 'Description Short',\n },\n description: {\n type: 'string',\n title: 'Description',\n },\n tax_category: {\n type: 'string',\n title: 'Tax Category',\n },\n tax_percentage: {\n type: 'number',\n title: 'Tax Percentage',\n },\n price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Price',\n },\n recurring_price_monthly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Monthly',\n },\n recurring_price_yearly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Yearly',\n },\n max_one: {\n type: 'boolean',\n title: 'Max One',\n },\n shippable: {\n type: 'boolean',\n title: 'Shippable',\n },\n attributes: {\n items: {\n type: 'string',\n },\n type: 'array',\n title: 'Attributes',\n default: [],\n },\n digital: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Digital',\n },\n featured: {\n type: 'boolean',\n title: 'Featured',\n },\n new_product: {\n type: 'boolean',\n title: 'New Product',\n },\n discounted_price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted Price',\n },\n discounted_from: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted From',\n },\n discounted_to: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted To',\n },\n image_1: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 1',\n },\n image_2: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 2',\n },\n image_3: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 3',\n },\n image_4: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 4',\n },\n image_5: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 5',\n },\n image_6: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 6',\n },\n },\n type: 'object',\n required: [\n 'id',\n 'category',\n 'category_order_number',\n 'order_number',\n 'name',\n 'description_short',\n 'description',\n 'tax_category',\n 'tax_percentage',\n 'max_one',\n 'shippable',\n 'featured',\n 'new_product',\n ],\n title: 'ProductResponse',\n} as const;\n\nexport const $ProductToTagCreate = {\n properties: {\n product_id: {\n type: 'string',\n format: 'uuid',\n title: 'Product Id',\n },\n tag_id: {\n type: 'string',\n format: 'uuid',\n title: 'Tag Id',\n },\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n },\n type: 'object',\n required: ['product_id', 'tag_id', 'shop_id'],\n title: 'ProductToTagCreate',\n} as const;\n\nexport const $ProductToTagSchema = {\n properties: {\n product_id: {\n type: 'string',\n format: 'uuid',\n title: 'Product Id',\n },\n tag_id: {\n type: 'string',\n format: 'uuid',\n title: 'Tag Id',\n },\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: ['product_id', 'tag_id', 'shop_id', 'id'],\n title: 'ProductToTagSchema',\n} as const;\n\nexport const $ProductToTagUpdate = {\n properties: {\n product_id: {\n type: 'string',\n format: 'uuid',\n title: 'Product Id',\n },\n tag_id: {\n type: 'string',\n format: 'uuid',\n title: 'Tag Id',\n },\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n },\n type: 'object',\n required: ['product_id', 'tag_id', 'shop_id'],\n title: 'ProductToTagUpdate',\n} as const;\n\nexport const $ProductTranslationBase = {\n properties: {\n main_name: {\n type: 'string',\n title: 'Main Name',\n },\n main_description: {\n type: 'string',\n title: 'Main Description',\n },\n main_description_short: {\n type: 'string',\n title: 'Main Description Short',\n },\n alt1_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Name',\n },\n alt1_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Description',\n },\n alt1_description_short: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Description Short',\n },\n alt2_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Name',\n },\n alt2_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Description',\n },\n alt2_description_short: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Description Short',\n },\n },\n type: 'object',\n required: ['main_name', 'main_description', 'main_description_short'],\n title: 'ProductTranslationBase',\n} as const;\n\nexport const $ProductTranslationCreate = {\n properties: {\n main_name: {\n type: 'string',\n title: 'Main Name',\n },\n main_description: {\n type: 'string',\n title: 'Main Description',\n },\n main_description_short: {\n type: 'string',\n title: 'Main Description Short',\n },\n alt1_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Name',\n },\n alt1_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Description',\n },\n alt1_description_short: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Description Short',\n },\n alt2_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Name',\n },\n alt2_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Description',\n },\n alt2_description_short: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Description Short',\n },\n },\n type: 'object',\n required: ['main_name', 'main_description', 'main_description_short'],\n title: 'ProductTranslationCreate',\n} as const;\n\nexport const $ProductTranslationUpdate = {\n properties: {\n main_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Main Name',\n },\n main_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Main Description',\n },\n main_description_short: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Main Description Short',\n },\n alt1_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Name',\n },\n alt1_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Description',\n },\n alt1_description_short: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Description Short',\n },\n alt2_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Name',\n },\n alt2_description: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Description',\n },\n alt2_description_short: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Description Short',\n },\n },\n type: 'object',\n title: 'ProductTranslationUpdate',\n} as const;\n\nexport const $ProductUpdate = {\n properties: {\n shop_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shop Id',\n },\n category_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Category Id',\n },\n price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n {\n type: 'null',\n },\n ],\n title: 'Price',\n description:\n 'Unit price excluding VAT. Gross = price * (1 + tax_category rate).',\n },\n recurring_price_monthly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Monthly',\n },\n recurring_price_yearly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Yearly',\n },\n max_one: {\n anyOf: [\n {\n type: 'boolean',\n },\n {\n type: 'null',\n },\n ],\n title: 'Max One',\n },\n shippable: {\n anyOf: [\n {\n type: 'boolean',\n },\n {\n type: 'null',\n },\n ],\n title: 'Shippable',\n },\n digital: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Digital',\n },\n featured: {\n anyOf: [\n {\n type: 'boolean',\n },\n {\n type: 'null',\n },\n ],\n title: 'Featured',\n },\n new_product: {\n anyOf: [\n {\n type: 'boolean',\n },\n {\n type: 'null',\n },\n ],\n title: 'New Product',\n },\n tax_category: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Tax Category',\n },\n discounted_price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted Price',\n },\n discounted_from: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted From',\n },\n discounted_to: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted To',\n },\n order_number: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Order Number',\n },\n stock: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Stock',\n default: 1,\n },\n sku: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Sku',\n },\n image_1: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 1',\n },\n image_2: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 2',\n },\n image_3: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 3',\n },\n image_4: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 4',\n },\n image_5: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 5',\n },\n image_6: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 6',\n },\n translation: {\n anyOf: [\n {\n $ref: '#/components/schemas/ProductTranslationUpdate',\n },\n {\n type: 'null',\n },\n ],\n },\n modified_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Modified At',\n },\n },\n type: 'object',\n title: 'ProductUpdate',\n} as const;\n\nexport const $ProductWithAttributes = {\n properties: {\n product: {\n $ref: '#/components/schemas/ProductWithDefaultPrice',\n },\n attributes: {\n items: {\n $ref: '#/components/schemas/ProductAttributeItem',\n },\n type: 'array',\n title: 'Attributes',\n default: [],\n },\n },\n type: 'object',\n required: ['product'],\n title: 'ProductWithAttributes',\n description: 'Schema for a product along with its associated attributes.',\n} as const;\n\nexport const $ProductWithDefaultPrice = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n category_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Category Id',\n },\n price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Price',\n description:\n 'Unit price excluding VAT. Gross = price * (1 + tax_category rate).',\n },\n recurring_price_monthly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Monthly',\n },\n recurring_price_yearly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Yearly',\n },\n max_one: {\n type: 'boolean',\n title: 'Max One',\n },\n shippable: {\n type: 'boolean',\n title: 'Shippable',\n },\n digital: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Digital',\n },\n featured: {\n type: 'boolean',\n title: 'Featured',\n },\n new_product: {\n type: 'boolean',\n title: 'New Product',\n },\n tax_category: {\n type: 'string',\n title: 'Tax Category',\n },\n discounted_price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted Price',\n },\n discounted_from: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted From',\n },\n discounted_to: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted To',\n },\n order_number: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Order Number',\n },\n stock: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Stock',\n default: 1,\n },\n sku: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Sku',\n },\n image_1: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 1',\n },\n image_2: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 2',\n },\n image_3: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 3',\n },\n image_4: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 4',\n },\n image_5: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 5',\n },\n image_6: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 6',\n },\n translation: {\n $ref: '#/components/schemas/ProductTranslationBase',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n short_id: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Short Id',\n },\n modified_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Modified At',\n },\n approved_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Approved At',\n },\n images_amount: {\n type: 'integer',\n title: 'Images Amount',\n default: 0,\n },\n prices: {\n anyOf: [\n {\n $ref: '#/components/schemas/DefaultPrice',\n },\n {\n type: 'null',\n },\n ],\n default: {},\n },\n },\n type: 'object',\n required: [\n 'shop_id',\n 'max_one',\n 'shippable',\n 'featured',\n 'new_product',\n 'tax_category',\n 'translation',\n 'id',\n ],\n title: 'ProductWithDefaultPrice',\n} as const;\n\nexport const $ProductWithDetailsAndPrices = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n category_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Category Id',\n },\n price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Price',\n description:\n 'Unit price excluding VAT. Gross = price * (1 + tax_category rate).',\n },\n recurring_price_monthly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Monthly',\n },\n recurring_price_yearly: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Recurring Price Yearly',\n },\n max_one: {\n type: 'boolean',\n title: 'Max One',\n },\n shippable: {\n type: 'boolean',\n title: 'Shippable',\n },\n digital: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Digital',\n },\n featured: {\n type: 'boolean',\n title: 'Featured',\n },\n new_product: {\n type: 'boolean',\n title: 'New Product',\n },\n tax_category: {\n type: 'string',\n title: 'Tax Category',\n },\n discounted_price: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted Price',\n },\n discounted_from: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted From',\n },\n discounted_to: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Discounted To',\n },\n order_number: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Order Number',\n },\n stock: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Stock',\n default: 1,\n },\n sku: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Sku',\n },\n image_1: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 1',\n },\n image_2: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 2',\n },\n image_3: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 3',\n },\n image_4: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 4',\n },\n image_5: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 5',\n },\n image_6: {\n anyOf: [\n {\n additionalProperties: true,\n type: 'object',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Image 6',\n },\n translation: {\n $ref: '#/components/schemas/ProductTranslationBase',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n short_id: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Short Id',\n },\n modified_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Modified At',\n },\n approved_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Approved At',\n },\n images_amount: {\n type: 'integer',\n title: 'Images Amount',\n default: 0,\n },\n prices: {\n items: {\n additionalProperties: true,\n type: 'object',\n },\n type: 'array',\n title: 'Prices',\n default: [],\n },\n },\n type: 'object',\n required: [\n 'shop_id',\n 'max_one',\n 'shippable',\n 'featured',\n 'new_product',\n 'tax_category',\n 'translation',\n 'id',\n ],\n title: 'ProductWithDetailsAndPrices',\n} as const;\n\nexport const $RestoreReport = {\n properties: {\n restored: {\n type: 'boolean',\n title: 'Restored',\n },\n entity_type: {\n type: 'string',\n title: 'Entity Type',\n },\n entity_id: {\n type: 'string',\n format: 'uuid',\n title: 'Entity Id',\n },\n restored_from_revision_no: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'Restored From Revision No',\n },\n new_revision_no: {\n anyOf: [\n {\n type: 'integer',\n },\n {\n type: 'null',\n },\n ],\n title: 'New Revision No',\n },\n resurrected: {\n items: {\n $ref: '#/components/schemas/ResurrectedEntity',\n },\n type: 'array',\n title: 'Resurrected',\n default: [],\n },\n skipped_fields: {\n items: {\n type: 'string',\n },\n type: 'array',\n title: 'Skipped Fields',\n default: [],\n },\n unresolved: {\n items: {\n $ref: '#/components/schemas/UnresolvedReference',\n },\n type: 'array',\n title: 'Unresolved',\n default: [],\n },\n warnings: {\n items: {\n type: 'string',\n },\n type: 'array',\n title: 'Warnings',\n default: [],\n },\n },\n type: 'object',\n required: ['restored', 'entity_type', 'entity_id'],\n title: 'RestoreReport',\n description:\n \"What a restore actually did — agents should read this to see what didn't come back.\",\n} as const;\n\nexport const $ResurrectedEntity = {\n properties: {\n kind: {\n type: 'string',\n title: 'Kind',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Name',\n },\n },\n type: 'object',\n required: ['kind', 'id'],\n title: 'ResurrectedEntity',\n} as const;\n\nexport const $RevisionDetail = {\n properties: {\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n entity_type: {\n type: 'string',\n title: 'Entity Type',\n },\n entity_id: {\n type: 'string',\n format: 'uuid',\n title: 'Entity Id',\n },\n revision_no: {\n type: 'integer',\n title: 'Revision No',\n },\n action: {\n type: 'string',\n title: 'Action',\n },\n schema_version: {\n type: 'integer',\n title: 'Schema Version',\n },\n created_by: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Created By',\n },\n source: {\n type: 'string',\n title: 'Source',\n },\n created_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Created At',\n },\n name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Name',\n },\n data: {\n additionalProperties: true,\n type: 'object',\n title: 'Data',\n },\n },\n type: 'object',\n required: [\n 'id',\n 'entity_type',\n 'entity_id',\n 'revision_no',\n 'action',\n 'schema_version',\n 'source',\n 'data',\n ],\n title: 'RevisionDetail',\n} as const;\n\nexport const $RevisionSummary = {\n properties: {\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n entity_type: {\n type: 'string',\n title: 'Entity Type',\n },\n entity_id: {\n type: 'string',\n format: 'uuid',\n title: 'Entity Id',\n },\n revision_no: {\n type: 'integer',\n title: 'Revision No',\n },\n action: {\n type: 'string',\n title: 'Action',\n },\n schema_version: {\n type: 'integer',\n title: 'Schema Version',\n },\n created_by: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Created By',\n },\n source: {\n type: 'string',\n title: 'Source',\n },\n created_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Created At',\n },\n name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Name',\n },\n },\n type: 'object',\n required: [\n 'id',\n 'entity_type',\n 'entity_id',\n 'revision_no',\n 'action',\n 'schema_version',\n 'source',\n ],\n title: 'RevisionSummary',\n} as const;\n\nexport const $ShippingCalculateRequest = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n order_info: {\n items: {\n $ref: '#/components/schemas/OrderItem-Input',\n },\n type: 'array',\n title: 'Order Info',\n },\n },\n type: 'object',\n required: ['shop_id', 'order_info'],\n title: 'ShippingCalculateRequest',\n} as const;\n\nexport const $ShippingCalculation = {\n properties: {\n enabled: {\n type: 'boolean',\n title: 'Enabled',\n },\n method: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Method',\n },\n fee_inc_btw: {\n type: 'number',\n title: 'Fee Inc Btw',\n },\n fee_ex_btw: {\n type: 'number',\n title: 'Fee Ex Btw',\n },\n fee_btw: {\n type: 'number',\n title: 'Fee Btw',\n },\n free_shipping_applied: {\n type: 'boolean',\n title: 'Free Shipping Applied',\n },\n free_shipping_threshold: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'null',\n },\n ],\n title: 'Free Shipping Threshold',\n },\n lines: {\n items: {\n $ref: '#/components/schemas/ShippingLine',\n },\n type: 'array',\n title: 'Lines',\n },\n },\n type: 'object',\n required: [\n 'enabled',\n 'fee_inc_btw',\n 'fee_ex_btw',\n 'fee_btw',\n 'free_shipping_applied',\n 'lines',\n ],\n title: 'ShippingCalculation',\n} as const;\n\nexport const $ShippingLine = {\n properties: {\n btw_rate: {\n type: 'number',\n title: 'Btw Rate',\n },\n amount_ex_btw: {\n type: 'number',\n title: 'Amount Ex Btw',\n },\n amount_inc_btw: {\n type: 'number',\n title: 'Amount Inc Btw',\n },\n amount_btw: {\n type: 'number',\n title: 'Amount Btw',\n },\n },\n type: 'object',\n required: ['btw_rate', 'amount_ex_btw', 'amount_inc_btw', 'amount_btw'],\n title: 'ShippingLine',\n} as const;\n\nexport const $ShopCacheStatus = {\n properties: {\n modified_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Modified At',\n },\n },\n type: 'object',\n required: ['modified_at'],\n title: 'ShopCacheStatus',\n} as const;\n\nexport const $ShopConfig = {\n properties: {\n config: {\n $ref: '#/components/schemas/ConfigurationV1-Output',\n },\n config_version: {\n type: 'integer',\n title: 'Config Version',\n },\n shop_type: {\n $ref: '#/components/schemas/ShopType',\n },\n stripe_public_key: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Stripe Public Key',\n },\n },\n type: 'object',\n required: ['config', 'config_version', 'shop_type', 'stripe_public_key'],\n title: 'ShopConfig',\n} as const;\n\nexport const $ShopConfigUpdate_Input = {\n properties: {\n config: {\n $ref: '#/components/schemas/ConfigurationV1-Input',\n },\n config_version: {\n type: 'integer',\n title: 'Config Version',\n },\n },\n type: 'object',\n required: ['config', 'config_version'],\n title: 'ShopConfigUpdate',\n} as const;\n\nexport const $ShopConfigUpdate_Output = {\n properties: {\n config: {\n $ref: '#/components/schemas/ConfigurationV1-Output',\n },\n config_version: {\n type: 'integer',\n title: 'Config Version',\n },\n },\n type: 'object',\n required: ['config', 'config_version'],\n title: 'ShopConfigUpdate',\n} as const;\n\nexport const $ShopCreate = {\n properties: {\n name: {\n type: 'string',\n title: 'Name',\n },\n description: {\n type: 'string',\n title: 'Description',\n },\n internal_url: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Internal Url',\n },\n external_url: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'External Url',\n },\n vat_standard: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Standard',\n },\n vat_lower_1: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Lower 1',\n },\n vat_lower_2: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Lower 2',\n },\n vat_lower_3: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Lower 3',\n },\n vat_special: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Special',\n },\n vat_zero: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Zero',\n },\n },\n type: 'object',\n required: [\n 'name',\n 'description',\n 'vat_standard',\n 'vat_lower_1',\n 'vat_lower_2',\n 'vat_lower_3',\n 'vat_special',\n 'vat_zero',\n ],\n title: 'ShopCreate',\n} as const;\n\nexport const $ShopIp = {\n properties: {\n ip: {\n type: 'string',\n title: 'Ip',\n },\n },\n type: 'object',\n required: ['ip'],\n title: 'ShopIp',\n} as const;\n\nexport const $ShopLastCompletedOrder = {\n properties: {\n last_completed_order: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Last Completed Order',\n },\n },\n type: 'object',\n required: ['last_completed_order'],\n title: 'ShopLastCompletedOrder',\n} as const;\n\nexport const $ShopLastPendingOrder = {\n properties: {\n last_pending_order: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Last Pending Order',\n },\n },\n type: 'object',\n required: ['last_pending_order'],\n title: 'ShopLastPendingOrder',\n} as const;\n\nexport const $ShopSchema = {\n properties: {\n name: {\n type: 'string',\n title: 'Name',\n },\n description: {\n type: 'string',\n title: 'Description',\n },\n internal_url: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Internal Url',\n },\n external_url: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'External Url',\n },\n vat_standard: {\n type: 'number',\n title: 'Vat Standard',\n },\n vat_lower_1: {\n type: 'number',\n title: 'Vat Lower 1',\n },\n vat_lower_2: {\n type: 'number',\n title: 'Vat Lower 2',\n },\n vat_lower_3: {\n type: 'number',\n title: 'Vat Lower 3',\n },\n vat_special: {\n type: 'number',\n title: 'Vat Special',\n },\n vat_zero: {\n type: 'number',\n title: 'Vat Zero',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: [\n 'name',\n 'description',\n 'vat_standard',\n 'vat_lower_1',\n 'vat_lower_2',\n 'vat_lower_3',\n 'vat_special',\n 'vat_zero',\n 'id',\n ],\n title: 'ShopSchema',\n} as const;\n\nexport const $ShopType = {\n properties: {\n max_languages: {\n type: 'number',\n title: 'Max Languages',\n },\n max_products: {\n type: 'number',\n title: 'Max Products',\n },\n stripe_access: {\n type: 'boolean',\n title: 'Stripe Access',\n },\n trial_mode: {\n type: 'boolean',\n title: 'Trial Mode',\n },\n trial_started: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Trial Started',\n },\n name: {\n $ref: '#/components/schemas/ShopTypeName',\n },\n },\n type: 'object',\n required: [\n 'max_languages',\n 'max_products',\n 'stripe_access',\n 'trial_mode',\n 'name',\n ],\n title: 'ShopType',\n} as const;\n\nexport const $ShopTypeName = {\n type: 'string',\n enum: ['small', 'business'],\n title: 'ShopTypeName',\n} as const;\n\nexport const $ShopUpdate = {\n properties: {\n name: {\n type: 'string',\n title: 'Name',\n },\n description: {\n type: 'string',\n title: 'Description',\n },\n internal_url: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Internal Url',\n },\n external_url: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'External Url',\n },\n vat_standard: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Standard',\n },\n vat_lower_1: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Lower 1',\n },\n vat_lower_2: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Lower 2',\n },\n vat_lower_3: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Lower 3',\n },\n vat_special: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Special',\n },\n vat_zero: {\n anyOf: [\n {\n type: 'number',\n },\n {\n type: 'string',\n pattern: '^(?!^[-+.]*$)[+-]?0*\\\\d*\\\\.?\\\\d*$',\n },\n ],\n title: 'Vat Zero',\n },\n modified_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Modified At',\n },\n allowed_ips: {\n anyOf: [\n {\n items: {\n type: 'string',\n },\n type: 'array',\n },\n {\n type: 'null',\n },\n ],\n title: 'Allowed Ips',\n },\n },\n type: 'object',\n required: [\n 'name',\n 'description',\n 'vat_standard',\n 'vat_lower_1',\n 'vat_lower_2',\n 'vat_lower_3',\n 'vat_special',\n 'vat_zero',\n 'modified_at',\n ],\n title: 'ShopUpdate',\n} as const;\n\nexport const $ShopWithPrices = {\n properties: {\n name: {\n type: 'string',\n title: 'Name',\n },\n description: {\n type: 'string',\n title: 'Description',\n },\n internal_url: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Internal Url',\n },\n external_url: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'External Url',\n },\n vat_standard: {\n type: 'number',\n title: 'Vat Standard',\n },\n vat_lower_1: {\n type: 'number',\n title: 'Vat Lower 1',\n },\n vat_lower_2: {\n type: 'number',\n title: 'Vat Lower 2',\n },\n vat_lower_3: {\n type: 'number',\n title: 'Vat Lower 3',\n },\n vat_special: {\n type: 'number',\n title: 'Vat Special',\n },\n vat_zero: {\n type: 'number',\n title: 'Vat Zero',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: [\n 'name',\n 'description',\n 'vat_standard',\n 'vat_lower_1',\n 'vat_lower_2',\n 'vat_lower_3',\n 'vat_special',\n 'vat_zero',\n 'id',\n ],\n title: 'ShopWithPrices',\n} as const;\n\nexport const $SyncStripeResponse = {\n properties: {\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n stripe_customer_id: {\n type: 'string',\n title: 'Stripe Customer Id',\n },\n stripe_synced_at: {\n type: 'string',\n format: 'date-time',\n title: 'Stripe Synced At',\n },\n stripe_customer: {\n additionalProperties: true,\n type: 'object',\n title: 'Stripe Customer',\n },\n },\n type: 'object',\n required: [\n 'id',\n 'stripe_customer_id',\n 'stripe_synced_at',\n 'stripe_customer',\n ],\n title: 'SyncStripeResponse',\n} as const;\n\nexport const $TagCreate = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n translation: {\n $ref: '#/components/schemas/TagTranslationBase',\n },\n },\n type: 'object',\n required: ['shop_id', 'name', 'translation'],\n title: 'TagCreate',\n} as const;\n\nexport const $TagSchema = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n translation: {\n $ref: '#/components/schemas/TagTranslationBase',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n },\n type: 'object',\n required: ['shop_id', 'name', 'translation', 'id'],\n title: 'TagSchema',\n} as const;\n\nexport const $TagTranslationBase = {\n properties: {\n main_name: {\n type: 'string',\n title: 'Main Name',\n },\n alt1_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt1 Name',\n },\n alt2_name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Alt2 Name',\n },\n },\n type: 'object',\n required: ['main_name'],\n title: 'TagTranslationBase',\n} as const;\n\nexport const $TagUpdate = {\n properties: {\n shop_id: {\n type: 'string',\n format: 'uuid',\n title: 'Shop Id',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n translation: {\n $ref: '#/components/schemas/TagTranslationBase',\n },\n },\n type: 'object',\n required: ['shop_id', 'name', 'translation'],\n title: 'TagUpdate',\n} as const;\n\nexport const $Toggles = {\n properties: {\n show_new_products: {\n type: 'boolean',\n title: 'Show New Products',\n default: true,\n },\n show_featured_products: {\n type: 'boolean',\n title: 'Show Featured Products',\n default: true,\n },\n show_categories: {\n type: 'boolean',\n title: 'Show Categories',\n default: true,\n },\n show_shop_name: {\n type: 'boolean',\n title: 'Show Shop Name',\n default: true,\n },\n show_nav_categories: {\n type: 'boolean',\n title: 'Show Nav Categories',\n default: false,\n },\n language_alt1_enabled: {\n type: 'boolean',\n title: 'Language Alt1 Enabled',\n default: false,\n },\n language_alt2_enabled: {\n type: 'boolean',\n title: 'Language Alt2 Enabled',\n default: false,\n },\n product_call_to_action_enabled: {\n type: 'boolean',\n title: 'Product Call To Action Enabled',\n default: false,\n },\n enable_stock_on_products: {\n type: 'boolean',\n title: 'Enable Stock On Products',\n default: false,\n },\n enable_attributes_for_categories: {\n type: 'boolean',\n title: 'Enable Attributes For Categories',\n default: false,\n },\n force_unique_product_names: {\n type: 'boolean',\n title: 'Force Unique Product Names',\n default: false,\n },\n },\n type: 'object',\n title: 'Toggles',\n} as const;\n\nexport const $TrashItem = {\n properties: {\n entity_type: {\n type: 'string',\n title: 'Entity Type',\n },\n id: {\n type: 'string',\n format: 'uuid',\n title: 'Id',\n },\n name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Name',\n },\n deleted_at: {\n anyOf: [\n {\n type: 'string',\n format: 'date-time',\n },\n {\n type: 'null',\n },\n ],\n title: 'Deleted At',\n },\n deleted_batch_id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Deleted Batch Id',\n },\n },\n type: 'object',\n required: ['entity_type', 'id'],\n title: 'TrashItem',\n} as const;\n\nexport const $UnresolvedReference = {\n properties: {\n kind: {\n type: 'string',\n title: 'Kind',\n },\n id: {\n anyOf: [\n {\n type: 'string',\n format: 'uuid',\n },\n {\n type: 'null',\n },\n ],\n title: 'Id',\n },\n name: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n title: 'Name',\n },\n },\n type: 'object',\n required: ['kind'],\n title: 'UnresolvedReference',\n} as const;\n\nexport const $ValidationError = {\n properties: {\n loc: {\n items: {\n anyOf: [\n {\n type: 'string',\n },\n {\n type: 'integer',\n },\n ],\n },\n type: 'array',\n title: 'Location',\n },\n msg: {\n type: 'string',\n title: 'Message',\n },\n type: {\n type: 'string',\n title: 'Error Type',\n },\n },\n type: 'object',\n required: ['loc', 'msg', 'type'],\n title: 'ValidationError',\n} as const;\n","import { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\nexport const isString = (value: unknown): value is string => {\n return typeof value === 'string';\n};\n\nexport const isStringWithValue = (value: unknown): value is string => {\n return isString(value) && value !== '';\n};\n\nexport const isBlob = (value: any): value is Blob => {\n return value instanceof Blob;\n};\n\nexport const isFormData = (value: unknown): value is FormData => {\n return value instanceof FormData;\n};\n\nexport const base64 = (str: string): string => {\n try {\n return btoa(str);\n } catch (err) {\n // @ts-ignore\n return Buffer.from(str).toString('base64');\n }\n};\n\nexport const getQueryString = (params: Record<string, unknown>): string => {\n const qs: string[] = [];\n\n const append = (key: string, value: unknown) => {\n qs.push(\n `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`,\n );\n };\n\n const encodePair = (key: string, value: unknown) => {\n if (value === undefined || value === null) {\n return;\n }\n\n if (value instanceof Date) {\n append(key, value.toISOString());\n } else if (Array.isArray(value)) {\n value.forEach((v) => encodePair(key, v));\n } else if (typeof value === 'object') {\n Object.entries(value).forEach(([k, v]) =>\n encodePair(`${key}[${k}]`, v),\n );\n } else {\n append(key, value);\n }\n };\n\n Object.entries(params).forEach(([key, value]) => encodePair(key, value));\n\n return qs.length ? `?${qs.join('&')}` : '';\n};\n\nconst getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {\n const encoder = config.ENCODE_PATH || encodeURI;\n\n const path = options.url\n .replace('{api-version}', config.VERSION)\n .replace(/{(.*?)}/g, (substring: string, group: string) => {\n if (options.path?.hasOwnProperty(group)) {\n return encoder(String(options.path[group]));\n }\n return substring;\n });\n\n const url = config.BASE + path;\n return options.query ? url + getQueryString(options.query) : url;\n};\n\nexport const getFormData = (\n options: ApiRequestOptions,\n): FormData | undefined => {\n if (options.formData) {\n const formData = new FormData();\n\n const process = (key: string, value: unknown) => {\n if (isString(value) || isBlob(value)) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(options.formData)\n .filter(([, value]) => value !== undefined && value !== null)\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach((v) => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n }\n return undefined;\n};\n\ntype Resolver<T> = (options: ApiRequestOptions) => Promise<T>;\n\nexport const resolve = async <T>(\n options: ApiRequestOptions,\n resolver?: T | Resolver<T>,\n): Promise<T | undefined> => {\n if (typeof resolver === 'function') {\n return (resolver as Resolver<T>)(options);\n }\n return resolver;\n};\n\nexport const getHeaders = async (\n config: OpenAPIConfig,\n options: ApiRequestOptions,\n): Promise<Headers> => {\n const [token, username, password, additionalHeaders] = await Promise.all([\n resolve(options, config.TOKEN),\n resolve(options, config.USERNAME),\n resolve(options, config.PASSWORD),\n resolve(options, config.HEADERS),\n ]);\n\n const headers = Object.entries({\n Accept: 'application/json',\n ...additionalHeaders,\n ...options.headers,\n })\n .filter(([, value]) => value !== undefined && value !== null)\n .reduce(\n (headers, [key, value]) => ({\n ...headers,\n [key]: String(value),\n }),\n {} as Record<string, string>,\n );\n\n if (isStringWithValue(token)) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = base64(`${username}:${password}`);\n headers['Authorization'] = `Basic ${credentials}`;\n }\n\n if (options.body !== undefined) {\n if (options.mediaType) {\n headers['Content-Type'] = options.mediaType;\n } else if (isBlob(options.body)) {\n headers['Content-Type'] =\n options.body.type || 'application/octet-stream';\n } else if (isString(options.body)) {\n headers['Content-Type'] = 'text/plain';\n } else if (!isFormData(options.body)) {\n headers['Content-Type'] = 'application/json';\n }\n }\n\n return new Headers(headers);\n};\n\nexport const getRequestBody = (options: ApiRequestOptions): unknown => {\n if (options.body !== undefined) {\n if (\n options.mediaType?.includes('application/json') ||\n options.mediaType?.includes('+json')\n ) {\n return JSON.stringify(options.body);\n } else if (\n isString(options.body) ||\n isBlob(options.body) ||\n isFormData(options.body)\n ) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n};\n\nexport const sendRequest = async (\n config: OpenAPIConfig,\n options: ApiRequestOptions,\n url: string,\n body: any,\n formData: FormData | undefined,\n headers: Headers,\n onCancel: OnCancel,\n): Promise<Response> => {\n const controller = new AbortController();\n\n let request: RequestInit = {\n headers,\n body: body ?? formData,\n method: options.method,\n signal: controller.signal,\n };\n\n if (config.WITH_CREDENTIALS) {\n request.credentials = config.CREDENTIALS;\n }\n\n for (const fn of config.interceptors.request._fns) {\n request = await fn(request);\n }\n\n onCancel(() => controller.abort());\n\n return await fetch(url, request);\n};\n\nexport const getResponseHeader = (\n response: Response,\n responseHeader?: string,\n): string | undefined => {\n if (responseHeader) {\n const content = response.headers.get(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return undefined;\n};\n\nexport const getResponseBody = async (response: Response): Promise<unknown> => {\n if (response.status !== 204) {\n try {\n const contentType = response.headers.get('Content-Type');\n if (contentType) {\n const binaryTypes = [\n 'application/octet-stream',\n 'application/pdf',\n 'application/zip',\n 'audio/',\n 'image/',\n 'video/',\n ];\n if (\n contentType.includes('application/json') ||\n contentType.includes('+json')\n ) {\n return await response.json();\n } else if (\n binaryTypes.some((type) => contentType.includes(type))\n ) {\n return await response.blob();\n } else if (contentType.includes('multipart/form-data')) {\n return await response.formData();\n } else if (contentType.includes('text/')) {\n return await response.text();\n }\n }\n } catch (error) {\n console.error(error);\n }\n }\n return undefined;\n};\n\nexport const catchErrorCodes = (\n options: ApiRequestOptions,\n result: ApiResult,\n): void => {\n const errors: Record<number, string> = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 402: 'Payment Required',\n 403: 'Forbidden',\n 404: 'Not Found',\n 405: 'Method Not Allowed',\n 406: 'Not Acceptable',\n 407: 'Proxy Authentication Required',\n 408: 'Request Timeout',\n 409: 'Conflict',\n 410: 'Gone',\n 411: 'Length Required',\n 412: 'Precondition Failed',\n 413: 'Payload Too Large',\n 414: 'URI Too Long',\n 415: 'Unsupported Media Type',\n 416: 'Range Not Satisfiable',\n 417: 'Expectation Failed',\n 418: 'Im a teapot',\n 421: 'Misdirected Request',\n 422: 'Unprocessable Content',\n 423: 'Locked',\n 424: 'Failed Dependency',\n 425: 'Too Early',\n 426: 'Upgrade Required',\n 428: 'Precondition Required',\n 429: 'Too Many Requests',\n 431: 'Request Header Fields Too Large',\n 451: 'Unavailable For Legal Reasons',\n 500: 'Internal Server Error',\n 501: 'Not Implemented',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n 504: 'Gateway Timeout',\n 505: 'HTTP Version Not Supported',\n 506: 'Variant Also Negotiates',\n 507: 'Insufficient Storage',\n 508: 'Loop Detected',\n 510: 'Not Extended',\n 511: 'Network Authentication Required',\n ...options.errors,\n };\n\n const error = errors[result.status];\n if (error) {\n throw new ApiError(options, result, error);\n }\n\n if (!result.ok) {\n const errorStatus = result.status ?? 'unknown';\n const errorStatusText = result.statusText ?? 'unknown';\n const errorBody = (() => {\n try {\n return JSON.stringify(result.body, null, 2);\n } catch (e) {\n return undefined;\n }\n })();\n\n throw new ApiError(\n options,\n result,\n `Generic Error: status: ${errorStatus}; status text: ${errorStatusText}; body: ${errorBody}`,\n );\n }\n};\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @returns CancelablePromise<T>\n * @throws ApiError\n */\nexport const request = <T>(\n config: OpenAPIConfig,\n options: ApiRequestOptions,\n): CancelablePromise<T> => {\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n try {\n const url = getUrl(config, options);\n const formData = getFormData(options);\n const body = getRequestBody(options);\n const headers = await getHeaders(config, options);\n\n if (!onCancel.isCancelled) {\n let response = await sendRequest(\n config,\n options,\n url,\n body,\n formData,\n headers,\n onCancel,\n );\n\n for (const fn of config.interceptors.response._fns) {\n response = await fn(response);\n }\n\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(\n response,\n options.responseHeader,\n );\n\n const result: ApiResult = {\n url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n body: responseHeader ?? responseBody,\n };\n\n catchErrorCodes(options, result);\n\n resolve(result.body);\n }\n } catch (error) {\n reject(error);\n }\n });\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { CancelablePromise } from './core/CancelablePromise';\nimport { OpenAPI } from './core/OpenAPI';\nimport { request as __request } from './core/request';\nimport type {\n GetHealthHealthGetResponse,\n GetFormsFormsGetResponse,\n NewFormFormsFormKeyPostData,\n NewFormFormsFormKeyPostResponse,\n GetSignedUrlImagesSignedUrlImageNameGetData,\n GetSignedUrlImagesSignedUrlImageNameGetResponse,\n MoveImagesImagesMovePostResponse,\n DeleteTemporaryImagesImagesDeleteTempPostResponse,\n GetMultiLicensesGetData,\n GetMultiLicensesGetResponse,\n CreateLicensesPostData,\n CreateLicensesPostResponse,\n GetByIdLicensesIdGetData,\n GetByIdLicensesIdGetResponse,\n EditLicensesIdPutData,\n EditLicensesIdPutResponse,\n DeleteLicensesIdDeleteData,\n DeleteLicensesIdDeleteResponse,\n GetByImproviserUserIdLicensesImproviserImproviserUserIdGetData,\n GetByImproviserUserIdLicensesImproviserImproviserUserIdGetResponse,\n ListAccountsAdminAccountsGetData,\n ListAccountsAdminAccountsGetResponse,\n GetAccountAdminAccountsIdGetData,\n GetAccountAdminAccountsIdGetResponse,\n GetStripeCustomerAdminAccountsIdStripeCustomerGetData,\n GetStripeCustomerAdminAccountsIdStripeCustomerGetResponse,\n SyncStripeAdminAccountsIdSyncStripePostData,\n SyncStripeAdminAccountsIdSyncStripePostResponse,\n LinkStripeAdminAccountsIdLinkStripePostData,\n LinkStripeAdminAccountsIdLinkStripePostResponse,\n GetSignedDownloadLinkDownloadsFileNameGetData,\n GetSignedDownloadLinkDownloadsFileNameGetResponse,\n SendDownloadLinkViaEmailDownloadsSendPostData,\n SendDownloadLinkViaEmailDownloadsSendPostResponse,\n GetMultiShopsGetData,\n GetMultiShopsGetResponse,\n CreateShopsPostData,\n CreateShopsPostResponse,\n ListMyShopsResponse,\n GetCacheStatusShopsCacheStatusIdGetData,\n GetCacheStatusShopsCacheStatusIdGetResponse,\n GetLastCompletedOrderShopsLastCompletedOrderIdGetData,\n GetLastCompletedOrderShopsLastCompletedOrderIdGetResponse,\n GetLastPendingOrderShopsLastPendingOrderIdGetData,\n GetLastPendingOrderShopsLastPendingOrderIdGetResponse,\n GetByIdShopsIdGetData,\n GetByIdShopsIdGetResponse,\n GetConfigShopsConfigIdGetData,\n GetConfigShopsConfigIdGetResponse,\n UpdateConfigShopsConfigIdPutData,\n UpdateConfigShopsConfigIdPutResponse,\n UpdateShopsShopIdPutData,\n UpdateShopsShopIdPutResponse,\n DeleteShopsShopIdDeleteData,\n DeleteShopsShopIdDeleteResponse,\n GetAllowedIpsShopsAllowedIpsIdGetData,\n GetAllowedIpsShopsAllowedIpsIdGetResponse,\n AddNewIpShopsAllowedIpsIdPostData,\n AddNewIpShopsAllowedIpsIdPostResponse,\n RemoveIpShopsAllowedIpsIdRemovePostData,\n RemoveIpShopsAllowedIpsIdRemovePostResponse,\n GetProductsShopsShopIdPricesGetData,\n GetProductsShopsShopIdPricesGetResponse,\n GetCartProductsShopsShopIdPricesPostData,\n GetCartProductsShopsShopIdPricesPostResponse,\n GetMultiOrdersGetData,\n GetMultiOrdersGetResponse,\n CreateOrdersPostData,\n CreateOrdersPostResponse,\n ListPendingOrdersData,\n ListPendingOrdersResponse,\n ListCompleteOrdersData,\n ListCompleteOrdersResponse,\n GetByIdOrdersIdGetData,\n GetByIdOrdersIdGetResponse,\n CheckOrdersCheckIdsGetData,\n CheckOrdersCheckIdsGetResponse,\n QuoteOrdersQuotePostData,\n QuoteOrdersQuotePostResponse,\n PatchOrdersOrderIdPatchData,\n PatchOrdersOrderIdPatchResponse,\n UpdateOrdersOrderIdPutData,\n UpdateOrdersOrderIdPutResponse,\n DeleteOrdersOrderIdDeleteData,\n DeleteOrdersOrderIdDeleteResponse,\n GetOrderProductsInStockOrdersStockOrderIdGetData,\n GetOrderProductsInStockOrdersStockOrderIdGetResponse,\n CalculateShippingCalculatePostData,\n CalculateShippingCalculatePostResponse,\n ListCategoriesData,\n ListCategoriesResponse,\n CreateCategoryData,\n CreateCategoryResponse,\n GetCategoryData,\n GetCategoryResponse,\n UpdateCategoryData,\n UpdateCategoryResponse,\n DeleteCategoryData,\n DeleteCategoryResponse,\n GetByNameShopsShopIdCategoriesNameNameGetData,\n GetByNameShopsShopIdCategoriesNameNameGetResponse,\n SwapShopsShopIdCategoriesCategoryIdSwapPutData,\n SwapShopsShopIdCategoriesCategoryIdSwapPutResponse,\n GetAvailableAttributesShopsShopIdCategoriesCategoryIdAvailableAttributesGetData,\n GetAvailableAttributesShopsShopIdCategoriesCategoryIdAvailableAttributesGetResponse,\n GetCategoryProductsShopsShopIdCategoriesCategoryIdProductsGetData,\n GetCategoryProductsShopsShopIdCategoriesCategoryIdProductsGetResponse,\n GetMultiShopsShopIdCategoriesImagesGetData,\n GetMultiShopsShopIdCategoriesImagesGetResponse,\n GetByIdShopsShopIdCategoriesImagesIdGetData,\n GetByIdShopsShopIdCategoriesImagesIdGetResponse,\n PutShopsShopIdCategoriesImagesIdPutData,\n PutShopsShopIdCategoriesImagesIdPutResponse,\n DeleteImageShopsShopIdCategoriesImagesDeleteIdPutData,\n DeleteImageShopsShopIdCategoriesImagesDeleteIdPutResponse,\n GetSignedUploadUrlShopsShopIdImagesSignedUrlImageNameGetData,\n GetSignedUploadUrlShopsShopIdImagesSignedUrlImageNameGetResponse,\n ListProductsData,\n ListProductsResponse,\n CreateProductData,\n CreateProductResponse,\n GetMultiWithAttributesShopsShopIdProductsWithAttributesGetData,\n GetMultiWithAttributesShopsShopIdProductsWithAttributesGetResponse,\n UpdateProductData,\n UpdateProductResponse,\n DeleteProductData,\n DeleteProductResponse,\n GetProductData,\n GetProductResponse,\n SwapShopsShopIdProductsProductIdSwapPutData,\n SwapShopsShopIdProductsProductIdSwapPutResponse,\n GetProductAttributesData,\n GetProductAttributesResponse,\n ListProductToTagsData,\n ListProductToTagsResponse,\n CreateProductToTagData,\n CreateProductToTagResponse,\n GetProductToTagRelationIdData,\n GetProductToTagRelationIdResponse,\n GetProductToTagData,\n GetProductToTagResponse,\n UpdateProductToTagData,\n UpdateProductToTagResponse,\n DeleteProductToTagData,\n DeleteProductToTagResponse,\n ListShopRevisionsData,\n ListShopRevisionsResponse,\n GetRevisionData,\n GetRevisionResponse,\n ListProductRevisionsData,\n ListProductRevisionsResponse,\n GetProductRevisionData,\n GetProductRevisionResponse,\n RestoreProductRevisionData,\n RestoreProductRevisionResponse,\n RestoreProductData,\n RestoreProductResponse,\n ListCategoryRevisionsShopsShopIdCategoriesCategoryIdRevisionsGetData,\n ListCategoryRevisionsShopsShopIdCategoriesCategoryIdRevisionsGetResponse,\n RestoreCategoryData,\n RestoreCategoryResponse,\n RestoreCategoryRevisionData,\n RestoreCategoryRevisionResponse,\n RestoreTagRevisionData,\n RestoreTagRevisionResponse,\n RestoreTagData,\n RestoreTagResponse,\n RestoreAttributeRevisionData,\n RestoreAttributeRevisionResponse,\n RestoreAttributeData,\n RestoreAttributeResponse,\n ListTrashShopsShopIdTrashGetData,\n ListTrashShopsShopIdTrashGetResponse,\n ListTagsData,\n ListTagsResponse,\n CreateTagData,\n CreateTagResponse,\n GetTagData,\n GetTagResponse,\n UpdateTagData,\n UpdateTagResponse,\n DeleteTagData,\n DeleteTagResponse,\n GetByNameShopsShopIdTagsNameNameGetData,\n GetByNameShopsShopIdTagsNameNameGetResponse,\n GetByIdWithOptionsDirectShopsShopIdAttributesAttributeIdWithOptionsGetData,\n GetByIdWithOptionsDirectShopsShopIdAttributesAttributeIdWithOptionsGetResponse,\n GetWithOptionsShopsShopIdAttributesWithOptionsGetData,\n GetWithOptionsShopsShopIdAttributesWithOptionsGetResponse,\n ListAttributesData,\n ListAttributesResponse,\n CreateAttributeData,\n CreateAttributeResponse,\n GetByIdWithOptionsShopsShopIdAttributesIdAttributeIdWithOptionsGetData,\n GetByIdWithOptionsShopsShopIdAttributesIdAttributeIdWithOptionsGetResponse,\n GetAttributeData,\n GetAttributeResponse,\n GetByNameShopsShopIdAttributesNameNameGetData,\n GetByNameShopsShopIdAttributesNameNameGetResponse,\n UpdateAttributeData,\n UpdateAttributeResponse,\n DeleteAttributeData,\n DeleteAttributeResponse,\n MintShopsShopIdApiKeysPostData,\n MintShopsShopIdApiKeysPostResponse,\n ListKeysShopsShopIdApiKeysGetData,\n ListKeysShopsShopIdApiKeysGetResponse,\n RevokeShopsShopIdApiKeysKeyIdDeleteData,\n RevokeShopsShopIdApiKeysKeyIdDeleteResponse,\n ListAttributeOptionsData,\n ListAttributeOptionsResponse,\n CreateAttributeOptionData,\n CreateAttributeOptionResponse,\n GetAttributeOptionData,\n GetAttributeOptionResponse,\n UpdateAttributeOptionData,\n UpdateAttributeOptionResponse,\n DeleteAttributeOptionData,\n DeleteAttributeOptionResponse,\n ListOptionsShopsShopIdAttributesAttributeIdOptionsGetData,\n ListOptionsShopsShopIdAttributesAttributeIdOptionsGetResponse,\n CreateOptionShopsShopIdAttributesAttributeIdOptionsPostData,\n CreateOptionShopsShopIdAttributesAttributeIdOptionsPostResponse,\n GetOptionShopsShopIdAttributesAttributeIdOptionsOptionIdGetData,\n GetOptionShopsShopIdAttributesAttributeIdOptionsOptionIdGetResponse,\n DeleteOptionShopsShopIdAttributesAttributeIdOptionsOptionIdDeleteData,\n DeleteOptionShopsShopIdAttributesAttributeIdOptionsOptionIdDeleteResponse,\n ProductAttributeValuesListData,\n ProductAttributeValuesListResponse,\n ProductAttributeValuesCreateDeprecatedData,\n ProductAttributeValuesCreateDeprecatedResponse,\n ProductAttributeValuesGetData,\n ProductAttributeValuesGetResponse,\n ProductAttributeValuesDeleteData,\n ProductAttributeValuesDeleteResponse,\n AddProductAttributeOptionsData,\n AddProductAttributeOptionsResponse,\n ProductAttributeValuesReplaceForProductData,\n ProductAttributeValuesReplaceForProductResponse,\n GetMultiShopsShopIdAccountsGetData,\n GetMultiShopsShopIdAccountsGetResponse,\n CreateShopsShopIdAccountsPostData,\n CreateShopsShopIdAccountsPostResponse,\n GetByIdShopsShopIdAccountsIdGetData,\n GetByIdShopsShopIdAccountsIdGetResponse,\n UpdateShopsShopIdAccountsAccountIdPutData,\n UpdateShopsShopIdAccountsAccountIdPutResponse,\n DeleteShopsShopIdAccountsAccountIdDeleteData,\n DeleteShopsShopIdAccountsAccountIdDeleteResponse,\n CreatePaymentIntentShopsShopIdStripePostData,\n CreatePaymentIntentShopsShopIdStripePostResponse,\n CreateSubscriptionIntentShopsShopIdStripeSubscriptionPostData,\n CreateSubscriptionIntentShopsShopIdStripeSubscriptionPostResponse,\n CancelSubscriptionShopsShopIdStripeSubscriptionSubscriptionIdDeleteData,\n CancelSubscriptionShopsShopIdStripeSubscriptionSubscriptionIdDeleteResponse,\n CreateEarlyAccessPostData,\n CreateEarlyAccessPostResponse,\n FormInfoRequestFormPostData,\n FormInfoRequestFormPostResponse,\n TriggerErrorSentryGetData,\n TriggerErrorSentryGetResponse,\n FormTestFormsPostData,\n FormTestFormsPostResponse,\n GetMultiFaqGetData,\n GetMultiFaqGetResponse,\n CreateFaqPostData,\n CreateFaqPostResponse,\n GetByIdFaqIdGetData,\n GetByIdFaqIdGetResponse,\n UpdateFaqFaqIdPutData,\n UpdateFaqFaqIdPutResponse,\n DeleteFaqFaqIdDeleteData,\n DeleteFaqFaqIdDeleteResponse,\n SendTestOrderConfirmationMailTestSendOrderConfirmationPostData,\n SendTestOrderConfirmationMailTestSendOrderConfirmationPostResponse,\n} from './types.gen';\n\n/**\n * Get Health\n * @returns string Successful Response\n * @throws ApiError\n */\nexport const getHealthHealthGet =\n (): CancelablePromise<GetHealthHealthGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/health/',\n });\n };\n\n/**\n * Get Forms\n * Retrieve all forms.\n *\n * Args:\n * response: Response\n *\n * Returns:\n * Form titles\n * @returns string Successful Response\n * @throws ApiError\n */\nexport const getFormsFormsGet =\n (): CancelablePromise<GetFormsFormsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/forms',\n });\n };\n\n/**\n * New Form\n * @param data The data for the request.\n * @param data.formKey\n * @param data.requestBody\n * @param data.shopId\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const newFormFormsFormKeyPost = (\n data: NewFormFormsFormKeyPostData,\n): CancelablePromise<NewFormFormsFormKeyPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/forms/{form_key}',\n path: {\n form_key: data.formKey,\n },\n query: {\n shop_id: data.shopId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get Signed Url\n * @param data The data for the request.\n * @param data.imageName\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const getSignedUrlImagesSignedUrlImageNameGet = (\n data: GetSignedUrlImagesSignedUrlImageNameGetData,\n): CancelablePromise<GetSignedUrlImagesSignedUrlImageNameGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/images/signed-url/{image_name}',\n path: {\n image_name: data.imageName,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Move Images\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const moveImagesImagesMovePost =\n (): CancelablePromise<MoveImagesImagesMovePostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/images/move',\n });\n };\n\n/**\n * Delete Temporary Images\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const deleteTemporaryImagesImagesDeleteTempPost =\n (): CancelablePromise<DeleteTemporaryImagesImagesDeleteTempPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/images/delete-temp',\n });\n };\n\n/**\n * List licenses\n * Returns all licenses. Requires superuser privileges.\n * @param data The data for the request.\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @returns LicenseSchema Successful Response\n * @throws ApiError\n */\nexport const getMultiLicensesGet = (\n data: GetMultiLicensesGetData = {},\n): CancelablePromise<GetMultiLicensesGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/licenses',\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create license\n * Create a new license. Recurring licenses must not have an `end_date`. Requires superuser privileges.\n * @param data The data for the request.\n * @param data.requestBody\n * @returns LicenseSchema Successful Response\n * @throws ApiError\n */\nexport const createLicensesPost = (\n data: CreateLicensesPostData,\n): CancelablePromise<CreateLicensesPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/licenses',\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get license\n * Retrieve a single license by its UUID. Requires superuser privileges.\n * @param data The data for the request.\n * @param data.id\n * @returns LicenseSchema Successful Response\n * @throws ApiError\n */\nexport const getByIdLicensesIdGet = (\n data: GetByIdLicensesIdGetData,\n): CancelablePromise<GetByIdLicensesIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/licenses/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update license\n * Update an existing license. Recurring licenses may not be given an `end_date`. Requires superuser privileges.\n * @param data The data for the request.\n * @param data.id\n * @param data.requestBody\n * @returns LicenseSchema Successful Response\n * @throws ApiError\n */\nexport const editLicensesIdPut = (\n data: EditLicensesIdPutData,\n): CancelablePromise<EditLicensesIdPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/licenses/{id}',\n path: {\n id: data.id,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete license\n * Permanently remove a license. Requires superuser privileges.\n * @param data The data for the request.\n * @param data.id\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteLicensesIdDelete = (\n data: DeleteLicensesIdDeleteData,\n): CancelablePromise<DeleteLicensesIdDeleteResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/licenses/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get license by improviser user ID\n * Retrieve the license associated with an external improviser user ID.\n * @param data The data for the request.\n * @param data.improviserUserId\n * @returns LicenseSchema Successful Response\n * @throws ApiError\n */\nexport const getByImproviserUserIdLicensesImproviserImproviserUserIdGet = (\n data: GetByImproviserUserIdLicensesImproviserImproviserUserIdGetData,\n): CancelablePromise<GetByImproviserUserIdLicensesImproviserImproviserUserIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/licenses/improviser/{improviser_user_id}',\n path: {\n improviser_user_id: data.improviserUserId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List accounts (admin)\n * List all customer accounts across every shop. Optionally filter by `shop_id` or by Stripe linkage status (`missing_stripe=true` returns accounts without a Stripe customer ID). Requires membership of the Cognito Admins group.\n * @param data The data for the request.\n * @param data.shopId Restrict to a single shop\n * @param data.missingStripe If true, only accounts without a stripe_customer_id; if false, only those with one.\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @returns AdminAccountSchema Successful Response\n * @throws ApiError\n */\nexport const listAccountsAdminAccountsGet = (\n data: ListAccountsAdminAccountsGetData = {},\n): CancelablePromise<ListAccountsAdminAccountsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/admin/accounts',\n query: {\n shop_id: data.shopId,\n missing_stripe: data.missingStripe,\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 403: 'Not a member of the Admins group',\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get account (admin)\n * Retrieve a single account by UUID, including its Stripe metadata. Requires Admins group membership.\n * @param data The data for the request.\n * @param data.id\n * @returns AdminAccountSchema Successful Response\n * @throws ApiError\n */\nexport const getAccountAdminAccountsIdGet = (\n data: GetAccountAdminAccountsIdGetData,\n): CancelablePromise<GetAccountAdminAccountsIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/admin/accounts/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 403: 'Not a member of the Admins group',\n 404: 'Account not found',\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Fetch Stripe customer (admin)\n * Read-through to Stripe: returns the live Stripe Customer object for this account. Does not persist anything — use POST /sync-stripe to save the snapshot.\n * @param data The data for the request.\n * @param data.id\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const getStripeCustomerAdminAccountsIdStripeCustomerGet = (\n data: GetStripeCustomerAdminAccountsIdStripeCustomerGetData,\n): CancelablePromise<GetStripeCustomerAdminAccountsIdStripeCustomerGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/admin/accounts/{id}/stripe-customer',\n path: {\n id: data.id,\n },\n errors: {\n 400: 'Account or shop not configured for Stripe',\n 403: 'Not a member of the Admins group',\n 404: 'Account not found',\n 422: 'Validation Error',\n 502: 'Stripe API error',\n },\n });\n};\n\n/**\n * Sync Stripe customer snapshot (admin)\n * Fetch the Stripe Customer and persist it in `Account.details` (`stripe_customer` + `stripe_synced_at`). Existing details keys are preserved.\n * @param data The data for the request.\n * @param data.id\n * @returns SyncStripeResponse Successful Response\n * @throws ApiError\n */\nexport const syncStripeAdminAccountsIdSyncStripePost = (\n data: SyncStripeAdminAccountsIdSyncStripePostData,\n): CancelablePromise<SyncStripeAdminAccountsIdSyncStripePostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/admin/accounts/{id}/sync-stripe',\n path: {\n id: data.id,\n },\n errors: {\n 400: 'Account or shop not configured for Stripe',\n 403: 'Not a member of the Admins group',\n 404: 'Account not found',\n 422: 'Validation Error',\n 502: 'Stripe API error',\n },\n });\n};\n\n/**\n * Link Stripe customer ID (admin)\n * Manually associate an existing Stripe customer ID with a local account. Follow up with POST /sync-stripe to pull the full snapshot.\n * @param data The data for the request.\n * @param data.id\n * @param data.requestBody\n * @returns AdminAccountSchema Successful Response\n * @throws ApiError\n */\nexport const linkStripeAdminAccountsIdLinkStripePost = (\n data: LinkStripeAdminAccountsIdLinkStripePostData,\n): CancelablePromise<LinkStripeAdminAccountsIdLinkStripePostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/admin/accounts/{id}/link-stripe',\n path: {\n id: data.id,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 403: 'Not a member of the Admins group',\n 404: 'Account not found',\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get Signed Download Link\n * @param data The data for the request.\n * @param data.fileName\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const getSignedDownloadLinkDownloadsFileNameGet = (\n data: GetSignedDownloadLinkDownloadsFileNameGetData,\n): CancelablePromise<GetSignedDownloadLinkDownloadsFileNameGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/downloads/{file_name}',\n path: {\n file_name: data.fileName,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Send Download Link Via Email\n * @param data The data for the request.\n * @param data.fileName\n * @param data.email\n * @param data.shopName\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const sendDownloadLinkViaEmailDownloadsSendPost = (\n data: SendDownloadLinkViaEmailDownloadsSendPostData,\n): CancelablePromise<SendDownloadLinkViaEmailDownloadsSendPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/downloads/send',\n query: {\n file_name: data.fileName,\n email: data.email,\n shop_name: data.shopName,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List shops\n * Returns all shops on the platform. Supports pagination, filtering, and sorting via common query parameters.\n * @param data The data for the request.\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @returns ShopSchema Successful Response\n * @throws ApiError\n */\nexport const getMultiShopsGet = (\n data: GetMultiShopsGetData = {},\n): CancelablePromise<GetMultiShopsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/',\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create shop\n * Create a new shop on the platform. Returns the created shop record.\n * @param data The data for the request.\n * @param data.requestBody\n * @returns ShopSchema Successful Response\n * @throws ApiError\n */\nexport const createShopsPost = (\n data: CreateShopsPostData,\n): CancelablePromise<CreateShopsPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/',\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List shops and capabilities for the current user\n * Returns the shops this user can manage, derived from their Cognito groups, plus capability flags the agent should use to tailor its welcome message and behaviour. Admins (group 'Admins') see all shops and have full write access. Tenant users see only the shop(s) whose ID matches one of their Cognito group names; their write access is also scoped to those shops. Always call this first — before saying anything to the user.\n * @returns MyShopsResponse Successful Response\n * @throws ApiError\n */\nexport const listMyShops = (): CancelablePromise<ListMyShopsResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/my-shops',\n });\n};\n\n/**\n * Get shop cache status\n * Returns the timestamp of the last data change visible in this shop. Useful for cache invalidation.\n * @param data The data for the request.\n * @param data.id\n * @returns ShopCacheStatus Successful Response\n * @throws ApiError\n */\nexport const getCacheStatusShopsCacheStatusIdGet = (\n data: GetCacheStatusShopsCacheStatusIdGetData,\n): CancelablePromise<GetCacheStatusShopsCacheStatusIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/cache-status/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get timestamp of last completed order\n * Returns the timestamp of the most recently completed order for the shop. Used to detect new fulfilments.\n * @param data The data for the request.\n * @param data.id\n * @returns ShopLastCompletedOrder Successful Response\n * @throws ApiError\n */\nexport const getLastCompletedOrderShopsLastCompletedOrderIdGet = (\n data: GetLastCompletedOrderShopsLastCompletedOrderIdGetData,\n): CancelablePromise<GetLastCompletedOrderShopsLastCompletedOrderIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/last-completed-order/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get timestamp of last pending order\n * Returns the timestamp of the most recently created pending order for the shop. Used by POS displays to detect new incoming orders.\n * @param data The data for the request.\n * @param data.id\n * @returns ShopLastPendingOrder Successful Response\n * @throws ApiError\n */\nexport const getLastPendingOrderShopsLastPendingOrderIdGet = (\n data: GetLastPendingOrderShopsLastPendingOrderIdGetData,\n): CancelablePromise<GetLastPendingOrderShopsLastPendingOrderIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/last-pending-order/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get shop\n * Retrieve a shop by its UUID, including all associated price records.\n * @param data The data for the request.\n * @param data.id\n * @returns ShopWithPrices Successful Response\n * @throws ApiError\n */\nexport const getByIdShopsIdGet = (\n data: GetByIdShopsIdGetData,\n): CancelablePromise<GetByIdShopsIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get shop configuration\n * Retrieve the shop's full configuration object, including feature toggles (e.g. stock tracking, checkout behaviour) and payment settings.\n * @param data The data for the request.\n * @param data.id\n * @returns ShopConfig Successful Response\n * @throws ApiError\n */\nexport const getConfigShopsConfigIdGet = (\n data: GetConfigShopsConfigIdGetData,\n): CancelablePromise<GetConfigShopsConfigIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/config/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update shop configuration\n * Update the shop's configuration. Partial updates are supported — only provided fields are changed.\n * @param data The data for the request.\n * @param data.id\n * @param data.requestBody\n * @returns ShopConfigUpdate_Output Successful Response\n * @throws ApiError\n */\nexport const updateConfigShopsConfigIdPut = (\n data: UpdateConfigShopsConfigIdPutData,\n): CancelablePromise<UpdateConfigShopsConfigIdPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/config/{id}',\n path: {\n id: data.id,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update shop\n * Update shop details such as name, description, and VAT rates.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @returns ShopSchema Successful Response\n * @throws ApiError\n */\nexport const updateShopsShopIdPut = (\n data: UpdateShopsShopIdPutData,\n): CancelablePromise<UpdateShopsShopIdPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}',\n path: {\n shop_id: data.shopId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete shop\n * Permanently remove a shop from the platform.\n * @param data The data for the request.\n * @param data.shopId\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteShopsShopIdDelete = (\n data: DeleteShopsShopIdDeleteData,\n): CancelablePromise<DeleteShopsShopIdDeleteResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}',\n path: {\n shop_id: data.shopId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List allowed IPs\n * Returns the list of IP addresses permitted to submit orders to this shop. An empty list means all IPs are allowed.\n * @param data The data for the request.\n * @param data.id\n * @returns string Successful Response\n * @throws ApiError\n */\nexport const getAllowedIpsShopsAllowedIpsIdGet = (\n data: GetAllowedIpsShopsAllowedIpsIdGetData,\n): CancelablePromise<GetAllowedIpsShopsAllowedIpsIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/allowed-ips/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Add allowed IP\n * Add an IP address to the shop's order submission allowlist. Returns the updated list of allowed IPs.\n * @param data The data for the request.\n * @param data.id\n * @param data.requestBody\n * @returns string Successful Response\n * @throws ApiError\n */\nexport const addNewIpShopsAllowedIpsIdPost = (\n data: AddNewIpShopsAllowedIpsIdPostData,\n): CancelablePromise<AddNewIpShopsAllowedIpsIdPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/allowed-ips/{id}',\n path: {\n id: data.id,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Remove allowed IP\n * Remove an IP address from the shop's order submission allowlist. Returns the updated list.\n * @param data The data for the request.\n * @param data.id\n * @param data.requestBody\n * @returns string Successful Response\n * @throws ApiError\n */\nexport const removeIpShopsAllowedIpsIdRemovePost = (\n data: RemoveIpShopsAllowedIpsIdRemovePostData,\n): CancelablePromise<RemoveIpShopsAllowedIpsIdRemovePostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/allowed-ips/{id}/remove',\n path: {\n id: data.id,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List products (pricelist)\n * Returns the full product catalogue for a shop in the requested language (`main`, `alt1`, or `alt2`). Products with missing translations for the requested language are excluded. When stock tracking is enabled, out-of-stock products are also filtered out.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.lang\n * @returns ProductResponse Successful Response\n * @throws ApiError\n */\nexport const getProductsShopsShopIdPricesGet = (\n data: GetProductsShopsShopIdPricesGetData,\n): CancelablePromise<GetProductsShopsShopIdPricesGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/prices/',\n path: {\n shop_id: data.shopId,\n },\n query: {\n lang: data.lang,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get cart products\n * Retrieve product details for a list of product IDs (a cart). Falls back to the `main` language for any product missing a translation in the requested language.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.lang\n * @param data.requestBody\n * @returns ProductResponse Successful Response\n * @throws ApiError\n */\nexport const getCartProductsShopsShopIdPricesPost = (\n data: GetCartProductsShopsShopIdPricesPostData,\n): CancelablePromise<GetCartProductsShopsShopIdPricesPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/prices/',\n path: {\n shop_id: data.shopId,\n },\n query: {\n lang: data.lang,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List all orders\n * Returns all orders across all shops. Requires authentication. Supports pagination, filtering (e.g. `status:pending`), and sorting.\n * @param data The data for the request.\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @returns OrderSchema Successful Response\n * @throws ApiError\n */\nexport const getMultiOrdersGet = (\n data: GetMultiOrdersGetData = {},\n): CancelablePromise<GetMultiOrdersGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/orders/',\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create order\n * Submit a new customer order. The caller's IP is validated against the shop's allowlist. Unit prices, shipping, and totals are derived server-side from the product catalogue. If stock tracking is enabled the product availability is verified before the order is created. A Stripe customer is auto-created for new account names when the shop has Stripe configured.\n * @param data The data for the request.\n * @param data.requestBody\n * @returns OrderCreated Successful Response\n * @throws ApiError\n */\nexport const createOrdersPost = (\n data: CreateOrdersPostData,\n): CancelablePromise<CreateOrdersPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/orders/',\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List pending orders for a shop\n * Read-only. Returns the shop's orders with status `pending` - orders awaiting fulfilment. Scoped to the shop in the path; you cannot read other shops' orders. Results include customer names and totals, so treat them as personal data. Supports pagination (`skip`/`limit`), filtering and sorting via the common query parameters. `filter` matches order fields only (status, dates, totals, etc.) and does NOT match customer name or email - to find a customer's orders, list the shop's orders and match on `account_name` client-side.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns OrderSchema Successful Response\n * @throws ApiError\n */\nexport const listPendingOrders = (\n data: ListPendingOrdersData,\n): CancelablePromise<ListPendingOrdersResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/orders/shop/{shop_id}/pending',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List completed orders for a shop\n * Read-only. Returns the shop's orders with status `complete` or `cancelled` - the order history, useful for reporting. Scoped to the shop in the path; you cannot read other shops' orders. Results include customer names and totals, so treat them as personal data. Supports pagination (`skip`/`limit`), filtering and sorting via the common query parameters. `filter` matches order fields only (status, dates, totals, etc.) and does NOT match customer name or email - to find a customer's orders, list the shop's orders and match on `account_name` client-side.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns OrderSchema Successful Response\n * @throws ApiError\n */\nexport const listCompleteOrders = (\n data: ListCompleteOrdersData,\n): CancelablePromise<ListCompleteOrdersResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/orders/shop/{shop_id}/complete',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get order\n * Retrieve a single order by its UUID, including line items, account name, and shop name.\n * @param data The data for the request.\n * @param data.id\n * @returns OrderSchema Successful Response\n * @throws ApiError\n */\nexport const getByIdOrdersIdGet = (\n data: GetByIdOrdersIdGetData,\n): CancelablePromise<GetByIdOrdersIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/orders/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Check order statuses\n * Retrieve the status and totals of up to 10 orders by passing a comma-separated list of UUIDs. All orders must belong to the same shop. Used by the checkout confirmation page.\n * @param data The data for the request.\n * @param data.ids\n * @returns OrderCreated Successful Response\n * @throws ApiError\n */\nexport const checkOrdersCheckIdsGet = (\n data: CheckOrdersCheckIdsGetData,\n): CancelablePromise<CheckOrdersCheckIdsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/orders/check/{ids}',\n path: {\n ids: data.ids,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Quote an order\n * Calculate gross line prices, shipping, and total from product IDs, quantities, and plans.\n * @param data The data for the request.\n * @param data.requestBody\n * @returns OrderQuote Successful Response\n * @throws ApiError\n */\nexport const quoteOrdersQuotePost = (\n data: QuoteOrdersQuotePostData,\n): CancelablePromise<QuoteOrdersQuotePostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/orders/quote',\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update order status\n * Partially update an order — typically to mark it `complete` or `cancelled`. Setting status to `complete` triggers stock deduction (if enabled), a Discord webhook notification, and an order confirmation email. Idempotent: setting the same status twice is a no-op.\n * @param data The data for the request.\n * @param data.orderId\n * @param data.requestBody\n * @returns OrderUpdated Successful Response\n * @throws ApiError\n */\nexport const patchOrdersOrderIdPatch = (\n data: PatchOrdersOrderIdPatchData,\n): CancelablePromise<PatchOrdersOrderIdPatchResponse> => {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/orders/{order_id}',\n path: {\n order_id: data.orderId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update order status\n * Update an order's status or notes. Prices, line items, and totals are immutable after creation.\n * @param data The data for the request.\n * @param data.orderId\n * @param data.requestBody\n * @returns OrderUpdated Successful Response\n * @throws ApiError\n */\nexport const updateOrdersOrderIdPut = (\n data: UpdateOrdersOrderIdPutData,\n): CancelablePromise<UpdateOrdersOrderIdPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/orders/{order_id}',\n path: {\n order_id: data.orderId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete order\n * Permanently remove an order record. Requires authentication.\n * @param data The data for the request.\n * @param data.orderId\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteOrdersOrderIdDelete = (\n data: DeleteOrdersOrderIdDeleteData,\n): CancelablePromise<DeleteOrdersOrderIdDeleteResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/orders/{order_id}',\n path: {\n order_id: data.orderId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Check order stock availability\n * Returns `true` if all products in the order have sufficient stock, `false` otherwise. Only meaningful when the shop has stock tracking enabled.\n * @param data The data for the request.\n * @param data.orderId\n * @returns boolean Successful Response\n * @throws ApiError\n */\nexport const getOrderProductsInStockOrdersStockOrderIdGet = (\n data: GetOrderProductsInStockOrdersStockOrderIdGetData,\n): CancelablePromise<GetOrderProductsInStockOrdersStockOrderIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/orders/stock/{order_id}',\n path: {\n order_id: data.orderId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Calculate\n * @param data The data for the request.\n * @param data.requestBody\n * @returns ShippingCalculation Successful Response\n * @throws ApiError\n */\nexport const calculateShippingCalculatePost = (\n data: CalculateShippingCalculatePostData,\n): CancelablePromise<CalculateShippingCalculatePostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shipping/calculate',\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List categories\n * Returns paginated categories for a shop, ordered by `order_number`. Supports filtering and sorting.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns CategorySchema Successful Response\n * @throws ApiError\n */\nexport const listCategories = (\n data: ListCategoriesData,\n): CancelablePromise<ListCategoriesResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/categories/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create category\n * Add a new category to a shop. The `order_number` is automatically set to the next available value.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const createCategory = (\n data: CreateCategoryData,\n): CancelablePromise<CreateCategoryResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/categories/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get category\n * Retrieve a single category by its UUID within a shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.categoryId\n * @param data.xApiKey\n * @returns CategorySchema Successful Response\n * @throws ApiError\n */\nexport const getCategory = (\n data: GetCategoryData,\n): CancelablePromise<GetCategoryResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/categories/{category_id}',\n path: {\n shop_id: data.shopId,\n category_id: data.categoryId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update category\n * Partially update a category. Send ONLY the fields you want to change; omitted fields are left untouched. Names and descriptions live in the nested `translation` object and can also be sent partially. `main_image`, `alt1_image` and `alt2_image` are S3 object filenames managed by the image-upload flow - do not set them unless explicitly given a filename.\n * @param data The data for the request.\n * @param data.categoryId\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const updateCategory = (\n data: UpdateCategoryData,\n): CancelablePromise<UpdateCategoryResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/categories/{category_id}',\n path: {\n category_id: data.categoryId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete category (moves to trash)\n * Moves a category to the trash (restorable with `restore_category`). If products are still assigned to it the request fails with 409 and the product count; retry with `force=true` to also move all those products to the trash (restorable as one batch), or with `detach=true` to keep the products but clear their category. `force` and `detach` are mutually exclusive.\n * @param data The data for the request.\n * @param data.categoryId\n * @param data.shopId\n * @param data.force Also move all products in this category to the trash.\n * @param data.detach Keep the products; clear their category reference instead.\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteCategory = (\n data: DeleteCategoryData,\n): CancelablePromise<DeleteCategoryResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/categories/{category_id}',\n path: {\n category_id: data.categoryId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n force: data.force,\n detach: data.detach,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get category by name\n * Retrieve a category using its human-readable name (exact match, case-sensitive).\n * @param data The data for the request.\n * @param data.name\n * @param data.shopId\n * @param data.xApiKey\n * @returns CategorySchema Successful Response\n * @throws ApiError\n */\nexport const getByNameShopsShopIdCategoriesNameNameGet = (\n data: GetByNameShopsShopIdCategoriesNameNameGetData,\n): CancelablePromise<GetByNameShopsShopIdCategoriesNameNameGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/categories/name/{name}',\n path: {\n name: data.name,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Reorder category\n * Move a category up (`move_up=true`) or down (`move_up=false`) in the display order. Swaps `order_number` with the adjacent category.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.categoryId\n * @param data.moveUp\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const swapShopsShopIdCategoriesCategoryIdSwapPut = (\n data: SwapShopsShopIdCategoriesCategoryIdSwapPutData,\n): CancelablePromise<SwapShopsShopIdCategoriesCategoryIdSwapPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/categories/{category_id}/swap',\n path: {\n shop_id: data.shopId,\n category_id: data.categoryId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n move_up: data.moveUp,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get available filter attributes for a category\n * Returns attributes actually used by products in this category, with option counts. Pass option_id[] to narrow counts to the already-selected filters (AND logic).\n * @param data The data for the request.\n * @param data.shopId\n * @param data.categoryId\n * @param data.optionId\n * @returns AvailableAttributeSchema Successful Response\n * @throws ApiError\n */\nexport const getAvailableAttributesShopsShopIdCategoriesCategoryIdAvailableAttributesGet =\n (\n data: GetAvailableAttributesShopsShopIdCategoriesCategoryIdAvailableAttributesGetData,\n ): CancelablePromise<GetAvailableAttributesShopsShopIdCategoriesCategoryIdAvailableAttributesGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/categories/{category_id}/available-attributes',\n path: {\n shop_id: data.shopId,\n category_id: data.categoryId,\n },\n query: {\n option_id: data.optionId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n };\n\n/**\n * List products in a category with attribute filters\n * Fetch products in a category along with their attributes. Supports attribute-based filtering.\n *\n * Attribute filters (mutually exclusive — only one can be used at a time):\n * * `option_id` array[UUID]: Filter by attribute option UUIDs.\n * * `attribute_id` UUID: Filter by attribute UUID.\n * * `option_value_key` array[str]: Filter by option value keys (e.g., 'S', 'RED').\n * * `attribute_name` str: Filter by attribute name.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.categoryId\n * @param data.optionId\n * @param data.attributeId\n * @param data.optionValueKey\n * @param data.attributeName\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @returns ProductWithAttributes Successful Response\n * @throws ApiError\n */\nexport const getCategoryProductsShopsShopIdCategoriesCategoryIdProductsGet = (\n data: GetCategoryProductsShopsShopIdCategoriesCategoryIdProductsGetData,\n): CancelablePromise<GetCategoryProductsShopsShopIdCategoriesCategoryIdProductsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/categories/{category_id}/products',\n path: {\n shop_id: data.shopId,\n category_id: data.categoryId,\n },\n query: {\n option_id: data.optionId,\n attribute_id: data.attributeId,\n option_value_key: data.optionValueKey,\n attribute_name: data.attributeName,\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get Multi\n * List all product category images.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const getMultiShopsShopIdCategoriesImagesGet = (\n data: GetMultiShopsShopIdCategoriesImagesGetData,\n): CancelablePromise<GetMultiShopsShopIdCategoriesImagesGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/categories-images/',\n path: {\n shop_id: data.shopId,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get By Id\n * @param data The data for the request.\n * @param data.id\n * @param data.shopId\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const getByIdShopsShopIdCategoriesImagesIdGet = (\n data: GetByIdShopsShopIdCategoriesImagesIdGetData,\n): CancelablePromise<GetByIdShopsShopIdCategoriesImagesIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/categories-images/{id}',\n path: {\n id: data.id,\n shop_id: data.shopId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Put\n * @param data The data for the request.\n * @param data.id\n * @param data.shopId\n * @param data.requestBody\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const putShopsShopIdCategoriesImagesIdPut = (\n data: PutShopsShopIdCategoriesImagesIdPutData,\n): CancelablePromise<PutShopsShopIdCategoriesImagesIdPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/categories-images/{id}',\n path: {\n id: data.id,\n shop_id: data.shopId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete Image\n * @param data The data for the request.\n * @param data.id\n * @param data.shopId\n * @param data.requestBody\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const deleteImageShopsShopIdCategoriesImagesDeleteIdPut = (\n data: DeleteImageShopsShopIdCategoriesImagesDeleteIdPutData,\n): CancelablePromise<DeleteImageShopsShopIdCategoriesImagesDeleteIdPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/categories-images/delete/{id}',\n path: {\n id: data.id,\n shop_id: data.shopId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get Signed Upload Url\n * @param data The data for the request.\n * @param data.shopId\n * @param data.imageName\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const getSignedUploadUrlShopsShopIdImagesSignedUrlImageNameGet = (\n data: GetSignedUploadUrlShopsShopIdImagesSignedUrlImageNameGetData,\n): CancelablePromise<GetSignedUploadUrlShopsShopIdImagesSignedUrlImageNameGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/images/signed-url/{image_name}',\n path: {\n shop_id: data.shopId,\n image_name: data.imageName,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List products\n * Returns paginated products for a shop, each with its default price. Supports filtering (e.g. `featured:true`, `category_id:<uuid>`) and sorting via common query parameters.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.stockStatus Filter products by inventory state. `in_stock` returns products with stock > 0, `out_of_stock` returns products with stock = 0, `all` (default) returns everything.\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns ProductWithDefaultPrice Successful Response\n * @throws ApiError\n */\nexport const listProducts = (\n data: ListProductsData,\n): CancelablePromise<ListProductsResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/products/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n stock_status: data.stockStatus,\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create product\n * Add a new product to a shop category. The `order_number` is automatically set to the next available value within the category.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const createProduct = (\n data: CreateProductData,\n): CancelablePromise<CreateProductResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/products/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List products with attributes\n * Fetch a list of products along with their associated attributes.\n *\n * You can filter the results using one of the following mutually exclusive attribute filters:\n *\n * * `option_id` array[UUID]: Filter by one or multiple attribute option UUIDs.\n * * `attribute_id` UUID: Filter by attribute UUID.\n * * `option_value_key` array[str]: Filter by option value (e.g., 'Red', 'XL').\n * * `attribute_name` array[str]: Filter by one or multiple attribute names (e.g., 'Color', 'Size').\n *\n * Only one attribute filter can be used at a time.\n *\n * You can additionally narrow results by inventory state with `stock_status`:\n * `in_stock` (stock > 0), `out_of_stock` (stock = 0), or `all` (default).\n * @param data The data for the request.\n * @param data.shopId\n * @param data.optionId\n * @param data.attributeId\n * @param data.optionValueKey\n * @param data.attributeName\n * @param data.stockStatus Filter products by inventory state. `in_stock` returns products with stock > 0, `out_of_stock` returns products with stock = 0, `all` (default) returns everything.\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns ProductWithAttributes Successful Response\n * @throws ApiError\n */\nexport const getMultiWithAttributesShopsShopIdProductsWithAttributesGet = (\n data: GetMultiWithAttributesShopsShopIdProductsWithAttributesGetData,\n): CancelablePromise<GetMultiWithAttributesShopsShopIdProductsWithAttributesGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/products/with_attributes',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n option_id: data.optionId,\n attribute_id: data.attributeId,\n option_value_key: data.optionValueKey,\n attribute_name: data.attributeName,\n stock_status: data.stockStatus,\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update product\n * Partially update a product. Send ONLY the fields you want to change; omitted fields are left untouched. Names and descriptions live in the nested `translation` object and can also be sent partially. `image_1`-`image_6` are S3 object filenames managed by the image-upload flow - do not set them unless explicitly given a filename.\n * @param data The data for the request.\n * @param data.productId\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const updateProduct = (\n data: UpdateProductData,\n): CancelablePromise<UpdateProductResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/products/{product_id}',\n path: {\n product_id: data.productId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete product (moves to trash)\n * Moves the product to the trash. The product disappears from all listings but can be restored with `restore_product` or via its revisions — this action is reversible. Only `force=true` permanently purges the product; that is irreversible and requires user (Cognito) credentials — API keys get 403.\n * @param data The data for the request.\n * @param data.productId\n * @param data.shopId\n * @param data.force Permanently purge instead of moving to trash. Irreversible.\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteProduct = (\n data: DeleteProductData,\n): CancelablePromise<DeleteProductResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/products/{product_id}',\n path: {\n product_id: data.productId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n force: data.force,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get product\n * Retrieve full product details including all active prices, translations, and images. Public endpoint — no authentication required.\n * @param data The data for the request.\n * @param data.productId\n * @param data.shopId\n * @returns ProductWithDetailsAndPrices Successful Response\n * @throws ApiError\n */\nexport const getProduct = (\n data: GetProductData,\n): CancelablePromise<GetProductResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/products/{product_id}',\n path: {\n product_id: data.productId,\n shop_id: data.shopId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Reorder product\n * Move a product up (`move_up=true`) or down (`move_up=false`) in the display order within its category. Swaps `order_number` with the adjacent product.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.productId\n * @param data.moveUp\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const swapShopsShopIdProductsProductIdSwapPut = (\n data: SwapShopsShopIdProductsProductIdSwapPutData,\n): CancelablePromise<SwapShopsShopIdProductsProductIdSwapPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/products/{product_id}/swap',\n path: {\n shop_id: data.shopId,\n product_id: data.productId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n move_up: data.moveUp,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get product with attributes\n * Retrieve a single product together with its assigned attribute values (e.g. size, color). Public endpoint — no authentication required.\n * @param data The data for the request.\n * @param data.productId\n * @param data.shopId\n * @returns ProductWithAttributes Successful Response\n * @throws ApiError\n */\nexport const getProductAttributes = (\n data: GetProductAttributesData,\n): CancelablePromise<GetProductAttributesResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/products/{product_id}/with_attributes',\n path: {\n product_id: data.productId,\n shop_id: data.shopId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List product-tag associations\n * Returns all product-to-tag relationship records for a shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns ProductToTagSchema Successful Response\n * @throws ApiError\n */\nexport const listProductToTags = (\n data: ListProductToTagsData,\n): CancelablePromise<ListProductToTagsResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/products-to-tags/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Add tag to product\n * Create an association between a product and a tag. Both must exist within the shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const createProductToTag = (\n data: CreateProductToTagData,\n): CancelablePromise<CreateProductToTagResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/products-to-tags/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get product-tag relation ID\n * Find the UUID of the association record between a specific product and tag. Returns 400 if the relation does not exist.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.tagId\n * @param data.productId\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const getProductToTagRelationId = (\n data: GetProductToTagRelationIdData,\n): CancelablePromise<GetProductToTagRelationIdResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/products-to-tags/get_relation_id',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n tag_id: data.tagId,\n product_id: data.productId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get product-tag association\n * Retrieve a single product-to-tag association by its UUID.\n * @param data The data for the request.\n * @param data.id\n * @param data.shopId\n * @param data.xApiKey\n * @returns ProductToTagSchema Successful Response\n * @throws ApiError\n */\nexport const getProductToTag = (\n data: GetProductToTagData,\n): CancelablePromise<GetProductToTagResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/products-to-tags/{id}',\n path: {\n id: data.id,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update product-tag association\n * Update an existing product-tag association record.\n * @param data The data for the request.\n * @param data.productToTagId\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const updateProductToTag = (\n data: UpdateProductToTagData,\n): CancelablePromise<UpdateProductToTagResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/products-to-tags/{product_to_tag_id}',\n path: {\n product_to_tag_id: data.productToTagId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Remove tag from product\n * Delete the association between a product and a tag.\n * @param data The data for the request.\n * @param data.productToTagId\n * @param data.shopId\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteProductToTag = (\n data: DeleteProductToTagData,\n): CancelablePromise<DeleteProductToTagResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/products-to-tags/{product_to_tag_id}',\n path: {\n product_to_tag_id: data.productToTagId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List all revisions in a shop\n * Shop-wide change feed: every recorded revision of every product, category, tag and attribute, newest first. Supports filtering by `entity_type` (product | category | tag | attribute), `entity_id`, `action` (create | update | delete | restore | baseline), `source` (rest | mcp) and `created_by`, plus `skip`/`limit` pagination (the total is returned in the Content-Range header). Use `get_revision` to inspect a revision's full snapshot.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.entityType Filter: product | category | tag | attribute.\n * @param data.entityId Filter on one specific entity.\n * @param data.action Filter: create | update | delete | restore | baseline.\n * @param data.source Filter: rest | mcp.\n * @param data.createdBy Filter on actor, e.g. \"api_key:<uuid>\" or \"cognito:<sub>\".\n * @param data.skip\n * @param data.limit\n * @param data.xApiKey\n * @returns RevisionSummary Successful Response\n * @throws ApiError\n */\nexport const listShopRevisions = (\n data: ListShopRevisionsData,\n): CancelablePromise<ListShopRevisionsResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/revisions',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n entity_type: data.entityType,\n entity_id: data.entityId,\n action: data.action,\n source: data.source,\n created_by: data.createdBy,\n skip: data.skip,\n limit: data.limit,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get one revision by id\n * Returns one revision (of any entity type) by its id, including the full snapshot data. Use it to inspect entries from the `list_shop_revisions` feed.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.revisionId\n * @param data.xApiKey\n * @returns RevisionDetail Successful Response\n * @throws ApiError\n */\nexport const getRevision = (\n data: GetRevisionData,\n): CancelablePromise<GetRevisionResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/revisions/{revision_id}',\n path: {\n shop_id: data.shopId,\n revision_id: data.revisionId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List product revisions\n * Returns the revision history of a product, newest first. Every change to the product (fields, translation, tags, attribute values, images) recorded one revision. Use `get_product_revision` to inspect a revision and `restore_product_revision` to roll back to it.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.productId\n * @param data.xApiKey\n * @returns RevisionSummary Successful Response\n * @throws ApiError\n */\nexport const listProductRevisions = (\n data: ListProductRevisionsData,\n): CancelablePromise<ListProductRevisionsResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/products/{product_id}/revisions',\n path: {\n shop_id: data.shopId,\n product_id: data.productId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get product revision\n * Returns one product revision including the full snapshot data (all fields, tags, attribute values and image references at that point in time).\n * @param data The data for the request.\n * @param data.shopId\n * @param data.productId\n * @param data.revisionNo\n * @param data.xApiKey\n * @returns RevisionDetail Successful Response\n * @throws ApiError\n */\nexport const getProductRevision = (\n data: GetProductRevisionData,\n): CancelablePromise<GetProductRevisionResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/products/{product_id}/revisions/{revision_no}',\n path: {\n shop_id: data.shopId,\n product_id: data.productId,\n revision_no: data.revisionNo,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Restore product to a revision\n * Rolls the product back to the state captured in the given revision: fields, translation, category, tags, attribute values and image references. Soft-deleted categories/tags/attributes referenced by the snapshot are automatically restored from the trash; references that were permanently purged are matched by name where possible, otherwise reported in `unresolved`. The restore itself is recorded as a new revision, so it can be undone too. Read the returned report to see what could not be brought back.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.productId\n * @param data.revisionNo\n * @param data.force Recreate the product from the snapshot even if it was permanently purged (user credentials required).\n * @param data.xApiKey\n * @returns RestoreReport Successful Response\n * @throws ApiError\n */\nexport const restoreProductRevision = (\n data: RestoreProductRevisionData,\n): CancelablePromise<RestoreProductRevisionResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/products/{product_id}/revisions/{revision_no}/restore',\n path: {\n shop_id: data.shopId,\n product_id: data.productId,\n revision_no: data.revisionNo,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n force: data.force,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Restore product from trash\n * Brings a trashed (deleted) product back, including its tags and attribute values. If the product's category is also in the trash it is restored as well.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.productId\n * @param data.xApiKey\n * @returns RestoreReport Successful Response\n * @throws ApiError\n */\nexport const restoreProduct = (\n data: RestoreProductData,\n): CancelablePromise<RestoreProductResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/products/{product_id}/restore',\n path: {\n shop_id: data.shopId,\n product_id: data.productId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List category revisions\n * Returns the revision history of a category, newest first.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.categoryId\n * @param data.xApiKey\n * @returns RevisionSummary Successful Response\n * @throws ApiError\n */\nexport const listCategoryRevisionsShopsShopIdCategoriesCategoryIdRevisionsGet =\n (\n data: ListCategoryRevisionsShopsShopIdCategoriesCategoryIdRevisionsGetData,\n ): CancelablePromise<ListCategoryRevisionsShopsShopIdCategoriesCategoryIdRevisionsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/categories/{category_id}/revisions',\n path: {\n shop_id: data.shopId,\n category_id: data.categoryId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n };\n\n/**\n * Restore category from trash\n * Brings a trashed (deleted) category back. With `restore_products=true` (default) it also restores every product that was moved to the trash together with the category by a `delete_category` with `force=true`.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.categoryId\n * @param data.restoreProducts Also restore the products trashed together with this category.\n * @param data.xApiKey\n * @returns RestoreReport Successful Response\n * @throws ApiError\n */\nexport const restoreCategory = (\n data: RestoreCategoryData,\n): CancelablePromise<RestoreCategoryResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/categories/{category_id}/restore',\n path: {\n shop_id: data.shopId,\n category_id: data.categoryId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n restore_products: data.restoreProducts,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Restore category to a revision\n * Rolls the category back to the state captured in the given revision: fields, translations and image references. Products are not touched — use `restore_category` for a trashed category with its product batch, or per-product revision restores to reattach detached products. If the category was permanently purged, `force=true` (user credentials required) recreates it under its original id. The restore is recorded as a new revision.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.categoryId\n * @param data.revisionNo\n * @param data.force Recreate the category from the snapshot even if it was permanently purged (user credentials required).\n * @param data.xApiKey\n * @returns RestoreReport Successful Response\n * @throws ApiError\n */\nexport const restoreCategoryRevision = (\n data: RestoreCategoryRevisionData,\n): CancelablePromise<RestoreCategoryRevisionResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/categories/{category_id}/revisions/{revision_no}/restore',\n path: {\n shop_id: data.shopId,\n category_id: data.categoryId,\n revision_no: data.revisionNo,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n force: data.force,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Restore tag to a revision\n * Rolls the tag back to the state captured in the given revision (name and translations). Use the `list_shop_revisions` feed with `entity_type=tag` to find revisions. If the tag was permanently purged, `force=true` (user credentials required) recreates it under its original id so existing product links in old snapshots resolve again. The restore is recorded as a new revision.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.tagId\n * @param data.revisionNo\n * @param data.force Recreate the tag from the snapshot even if it was permanently purged (user credentials required).\n * @param data.xApiKey\n * @returns RestoreReport Successful Response\n * @throws ApiError\n */\nexport const restoreTagRevision = (\n data: RestoreTagRevisionData,\n): CancelablePromise<RestoreTagRevisionResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/tags/{tag_id}/revisions/{revision_no}/restore',\n path: {\n shop_id: data.shopId,\n tag_id: data.tagId,\n revision_no: data.revisionNo,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n force: data.force,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Restore tag from trash\n * Brings a trashed (deleted) tag back. Its product links were kept in the trash, so the tag reappears on all products that carried it.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.tagId\n * @param data.xApiKey\n * @returns RestoreReport Successful Response\n * @throws ApiError\n */\nexport const restoreTag = (\n data: RestoreTagData,\n): CancelablePromise<RestoreTagResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/tags/{tag_id}/restore',\n path: {\n shop_id: data.shopId,\n tag_id: data.tagId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Restore attribute to a revision\n * Rolls the attribute back to the state captured in the given revision: name, unit, translations and its option set. Trashed options in the snapshot are restored, purged ones are recreated under their original id, and live options that are not in the snapshot are moved to the trash (their product values survive). Use `list_shop_revisions` with `entity_type=attribute` to find revisions. If the attribute was permanently purged, `force=true` (user credentials required) recreates it. The restore is recorded as a new revision. Read the returned report for what was resurrected, recreated or trashed.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.attributeId\n * @param data.revisionNo\n * @param data.force Recreate the attribute from the snapshot even if it was permanently purged (user credentials required).\n * @param data.xApiKey\n * @returns RestoreReport Successful Response\n * @throws ApiError\n */\nexport const restoreAttributeRevision = (\n data: RestoreAttributeRevisionData,\n): CancelablePromise<RestoreAttributeRevisionResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/attributes/{attribute_id}/revisions/{revision_no}/restore',\n path: {\n shop_id: data.shopId,\n attribute_id: data.attributeId,\n revision_no: data.revisionNo,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n force: data.force,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Restore attribute from trash\n * Brings a trashed (deleted) attribute back, including its options and all product values that used it. Options that were trashed individually before stay in the trash — restore an attribute revision to bring those back too.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.attributeId\n * @param data.xApiKey\n * @returns RestoreReport Successful Response\n * @throws ApiError\n */\nexport const restoreAttribute = (\n data: RestoreAttributeData,\n): CancelablePromise<RestoreAttributeResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/attributes/{attribute_id}/restore',\n path: {\n shop_id: data.shopId,\n attribute_id: data.attributeId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List trashed products, categories, tags and attributes\n * Returns all soft-deleted products, categories, tags and attributes of the shop, so they can be inspected and restored.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.xApiKey\n * @returns TrashItem Successful Response\n * @throws ApiError\n */\nexport const listTrashShopsShopIdTrashGet = (\n data: ListTrashShopsShopIdTrashGetData,\n): CancelablePromise<ListTrashShopsShopIdTrashGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/trash',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List tags\n * Returns all tags defined for a shop. Tags can be attached to products for flexible grouping and filtering.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns TagSchema Successful Response\n * @throws ApiError\n */\nexport const listTags = (\n data: ListTagsData,\n): CancelablePromise<ListTagsResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/tags/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create tag\n * Create a new tag for a shop. Tags are attached to products via the `products-to-tags` resource.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const createTag = (\n data: CreateTagData,\n): CancelablePromise<CreateTagResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/tags/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get tag\n * Retrieve a single tag by its UUID within a shop.\n * @param data The data for the request.\n * @param data.tagId\n * @param data.shopId\n * @param data.xApiKey\n * @returns TagSchema Successful Response\n * @throws ApiError\n */\nexport const getTag = (data: GetTagData): CancelablePromise<GetTagResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/tags/{tag_id}',\n path: {\n tag_id: data.tagId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update tag\n * Update an existing tag's name or translations.\n * @param data The data for the request.\n * @param data.tagId\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const updateTag = (\n data: UpdateTagData,\n): CancelablePromise<UpdateTagResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/tags/{tag_id}',\n path: {\n tag_id: data.tagId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete tag (moves to trash)\n * Moves a tag to the trash: it disappears from listings and from the products carrying it, but its product links are kept so restoring the tag brings everything back. This action is reversible. Only `force=true` permanently purges the tag (and its product links); that is irreversible and requires user (Cognito) credentials — API keys get 403.\n * @param data The data for the request.\n * @param data.tagId\n * @param data.shopId\n * @param data.force Permanently purge instead of moving to trash. Irreversible.\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteTag = (\n data: DeleteTagData,\n): CancelablePromise<DeleteTagResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/tags/{tag_id}',\n path: {\n tag_id: data.tagId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n force: data.force,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get tag by name\n * Retrieve a tag by its exact name within a shop.\n * @param data The data for the request.\n * @param data.name\n * @param data.shopId\n * @param data.xApiKey\n * @returns TagSchema Successful Response\n * @throws ApiError\n */\nexport const getByNameShopsShopIdTagsNameNameGet = (\n data: GetByNameShopsShopIdTagsNameNameGetData,\n): CancelablePromise<GetByNameShopsShopIdTagsNameNameGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/tags/name/{name}',\n path: {\n name: data.name,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get attribute by ID with options\n * Retrieve a specific attribute by its unique ID, including all of its defined options.\n * @param data The data for the request.\n * @param data.attributeId\n * @param data.shopId\n * @param data.xApiKey\n * @returns AttributeWithOptionsSchema Successful Response\n * @throws ApiError\n */\nexport const getByIdWithOptionsDirectShopsShopIdAttributesAttributeIdWithOptionsGet =\n (\n data: GetByIdWithOptionsDirectShopsShopIdAttributesAttributeIdWithOptionsGetData,\n ): CancelablePromise<GetByIdWithOptionsDirectShopsShopIdAttributesAttributeIdWithOptionsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attributes/{attribute_id}/with-options',\n path: {\n attribute_id: data.attributeId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n };\n\n/**\n * List shop attributes with options\n * Retrieve a paginated list of all attributes belonging to a specific shop, including their associated options (e.g., sizes or colors).\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns AttributeWithOptionsSchema Successful Response\n * @throws ApiError\n */\nexport const getWithOptionsShopsShopIdAttributesWithOptionsGet = (\n data: GetWithOptionsShopsShopIdAttributesWithOptionsGetData,\n): CancelablePromise<GetWithOptionsShopsShopIdAttributesWithOptionsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attributes/with-options',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List shop attributes\n * Retrieve a paginated list of all attributes defined for a specific shop. This list does not include options.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns AttributeSchema Successful Response\n * @throws ApiError\n */\nexport const listAttributes = (\n data: ListAttributesData,\n): CancelablePromise<ListAttributesResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attributes/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create attribute\n * Create a new attribute for a shop. This also initializes a translation record with the provided name.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns AttributeSchema Successful Response\n * @throws ApiError\n */\nexport const createAttribute = (\n data: CreateAttributeData,\n): CancelablePromise<CreateAttributeResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/attributes/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get attribute by ID with options\n * Retrieve a specific attribute by its unique ID, including all of its defined options.\n * @param data The data for the request.\n * @param data.attributeId\n * @param data.shopId\n * @param data.xApiKey\n * @returns AttributeWithOptionsSchema Successful Response\n * @throws ApiError\n */\nexport const getByIdWithOptionsShopsShopIdAttributesIdAttributeIdWithOptionsGet =\n (\n data: GetByIdWithOptionsShopsShopIdAttributesIdAttributeIdWithOptionsGetData,\n ): CancelablePromise<GetByIdWithOptionsShopsShopIdAttributesIdAttributeIdWithOptionsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attributes/id/{attribute_id}/with-options',\n path: {\n attribute_id: data.attributeId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n };\n\n/**\n * Get attribute by ID\n * Retrieve the details of a specific attribute using its unique ID.\n * @param data The data for the request.\n * @param data.attributeId\n * @param data.shopId\n * @param data.xApiKey\n * @returns AttributeSchema Successful Response\n * @throws ApiError\n */\nexport const getAttribute = (\n data: GetAttributeData,\n): CancelablePromise<GetAttributeResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attributes/id/{attribute_id}',\n path: {\n attribute_id: data.attributeId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get attribute by name\n * Retrieve the details of a specific attribute using its machine-friendly name (e.g., 'color').\n * @param data The data for the request.\n * @param data.name\n * @param data.shopId\n * @param data.xApiKey\n * @returns AttributeSchema Successful Response\n * @throws ApiError\n */\nexport const getByNameShopsShopIdAttributesNameNameGet = (\n data: GetByNameShopsShopIdAttributesNameNameGetData,\n): CancelablePromise<GetByNameShopsShopIdAttributesNameNameGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attributes/name/{name}',\n path: {\n name: data.name,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update attribute\n * Update the details of an existing attribute, such as its name or unit.\n * @param data The data for the request.\n * @param data.attributeId\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns AttributeSchema Successful Response\n * @throws ApiError\n */\nexport const updateAttribute = (\n data: UpdateAttributeData,\n): CancelablePromise<UpdateAttributeResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/attributes/{attribute_id}',\n path: {\n attribute_id: data.attributeId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete attribute (moves to trash)\n * Moves an attribute to the trash: it disappears from listings but existing product values keep their data, so restoring the attribute brings everything back. This action is reversible. Only `force=true` permanently purges the attribute (fails with 409 while products still use it); that is irreversible and requires user (Cognito) credentials — API keys get 403.\n * @param data The data for the request.\n * @param data.attributeId\n * @param data.shopId\n * @param data.force Permanently purge instead of moving to trash. Irreversible.\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteAttribute = (\n data: DeleteAttributeData,\n): CancelablePromise<DeleteAttributeResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/attributes/{attribute_id}',\n path: {\n attribute_id: data.attributeId,\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n force: data.force,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Mint a new API key for the shop\n * Mint a new API key. The plaintext is returned exactly once.\n *\n * Store it somewhere safe — it cannot be retrieved again. If lost, revoke\n * and mint a new one.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @returns ApiKeyCreated Successful Response\n * @throws ApiError\n */\nexport const mintShopsShopIdApiKeysPost = (\n data: MintShopsShopIdApiKeysPostData,\n): CancelablePromise<MintShopsShopIdApiKeysPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/api-keys/',\n path: {\n shop_id: data.shopId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List API keys for the shop\n * @param data The data for the request.\n * @param data.shopId\n * @returns ApiKeyRead Successful Response\n * @throws ApiError\n */\nexport const listKeysShopsShopIdApiKeysGet = (\n data: ListKeysShopsShopIdApiKeysGetData,\n): CancelablePromise<ListKeysShopsShopIdApiKeysGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/api-keys/',\n path: {\n shop_id: data.shopId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Revoke an API key\n * @param data The data for the request.\n * @param data.shopId\n * @param data.keyId\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const revokeShopsShopIdApiKeysKeyIdDelete = (\n data: RevokeShopsShopIdApiKeysKeyIdDeleteData,\n): CancelablePromise<RevokeShopsShopIdApiKeysKeyIdDeleteResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/api-keys/{key_id}',\n path: {\n shop_id: data.shopId,\n key_id: data.keyId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List attribute options for a shop\n * Retrieve a paginated list of all attribute options (e.g., 'Small', 'XL') across all attributes within a shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns AttributeOptionSchema Successful Response\n * @throws ApiError\n */\nexport const listAttributeOptions = (\n data: ListAttributeOptionsData,\n): CancelablePromise<ListAttributeOptionsResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attribute-options/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create attribute option\n * Create a new option for a specific attribute within a shop. The attribute_id must be provided in the request body.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns AttributeOptionSchema Successful Response\n * @throws ApiError\n */\nexport const createAttributeOption = (\n data: CreateAttributeOptionData,\n): CancelablePromise<CreateAttributeOptionResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/attribute-options/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get attribute option\n * Retrieve the details of a specific attribute option by its unique ID, ensuring it belongs to the shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.optionId\n * @param data.xApiKey\n * @returns AttributeOptionSchema Successful Response\n * @throws ApiError\n */\nexport const getAttributeOption = (\n data: GetAttributeOptionData,\n): CancelablePromise<GetAttributeOptionResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attribute-options/{option_id}',\n path: {\n shop_id: data.shopId,\n option_id: data.optionId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update attribute option\n * Update the details of an existing attribute option, ensuring it belongs to the shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.optionId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns AttributeOptionSchema Successful Response\n * @throws ApiError\n */\nexport const updateAttributeOption = (\n data: UpdateAttributeOptionData,\n): CancelablePromise<UpdateAttributeOptionResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/attribute-options/{option_id}',\n path: {\n shop_id: data.shopId,\n option_id: data.optionId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete attribute option\n * Remove an attribute option, ensuring it belongs to the shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.optionId\n * @param data.force Permanently purge instead of moving to trash. Irreversible.\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteAttributeOption = (\n data: DeleteAttributeOptionData,\n): CancelablePromise<DeleteAttributeOptionResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/attribute-options/{option_id}',\n path: {\n shop_id: data.shopId,\n option_id: data.optionId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n force: data.force,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * @deprecated\n * List attribute options\n * Retrieve a paginated list of options (e.g., 'Small', 'Medium', 'Large') for a specific attribute within a shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.attributeId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @returns AttributeOptionSchema Successful Response\n * @throws ApiError\n */\nexport const listOptionsShopsShopIdAttributesAttributeIdOptionsGet = (\n data: ListOptionsShopsShopIdAttributesAttributeIdOptionsGetData,\n): CancelablePromise<ListOptionsShopsShopIdAttributesAttributeIdOptionsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attributes/{attribute_id}/options/',\n path: {\n shop_id: data.shopId,\n attribute_id: data.attributeId,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * @deprecated\n * Create attribute option\n * Create a new option for a specific attribute. The value_key should be a language-agnostic identifier (e.g., 'XL').\n * @param data The data for the request.\n * @param data.shopId\n * @param data.attributeId\n * @param data.requestBody\n * @returns AttributeOptionSchema Successful Response\n * @throws ApiError\n */\nexport const createOptionShopsShopIdAttributesAttributeIdOptionsPost = (\n data: CreateOptionShopsShopIdAttributesAttributeIdOptionsPostData,\n): CancelablePromise<CreateOptionShopsShopIdAttributesAttributeIdOptionsPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/attributes/{attribute_id}/options/',\n path: {\n shop_id: data.shopId,\n attribute_id: data.attributeId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * @deprecated\n * Get attribute option\n * Retrieve the details of a specific attribute option by its unique ID.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.attributeId\n * @param data.optionId\n * @returns AttributeOptionSchema Successful Response\n * @throws ApiError\n */\nexport const getOptionShopsShopIdAttributesAttributeIdOptionsOptionIdGet = (\n data: GetOptionShopsShopIdAttributesAttributeIdOptionsOptionIdGetData,\n): CancelablePromise<GetOptionShopsShopIdAttributesAttributeIdOptionsOptionIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/attributes/{attribute_id}/options/{option_id}',\n path: {\n shop_id: data.shopId,\n attribute_id: data.attributeId,\n option_id: data.optionId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * @deprecated\n * Delete attribute option\n * Remove an attribute option. This will fail if the option is currently used by any product values.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.attributeId\n * @param data.optionId\n * @param data.force Permanently purge instead of moving to trash. Irreversible.\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteOptionShopsShopIdAttributesAttributeIdOptionsOptionIdDelete =\n (\n data: DeleteOptionShopsShopIdAttributesAttributeIdOptionsOptionIdDeleteData,\n ): CancelablePromise<DeleteOptionShopsShopIdAttributesAttributeIdOptionsOptionIdDeleteResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/attributes/{attribute_id}/options/{option_id}',\n path: {\n shop_id: data.shopId,\n attribute_id: data.attributeId,\n option_id: data.optionId,\n },\n query: {\n force: data.force,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n };\n\n/**\n * List product attribute values\n * List product attribute values for a shop (scoped by product.shop_id).\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @param data.xApiKey\n * @returns ProductAttributeValueSchema Successful Response\n * @throws ApiError\n */\nexport const productAttributeValuesList = (\n data: ProductAttributeValuesListData,\n): CancelablePromise<ProductAttributeValuesListResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/product-attribute-values/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * @deprecated\n * Create product attribute values (deprecated)\n * DEPRECATED: Create a new product attribute value for a product within a shop.\n *\n * Notes:\n * - This endpoint is deprecated; prefer using the selected options endpoint when possible.\n *\n * Validations:\n * - Product exists and belongs to the shop\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const productAttributeValuesCreateDeprecated = (\n data: ProductAttributeValuesCreateDeprecatedData,\n): CancelablePromise<ProductAttributeValuesCreateDeprecatedResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/product-attribute-values/',\n path: {\n shop_id: data.shopId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get product attribute value\n * Retrieve a single product attribute value by id scoped to the given shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.id\n * @param data.xApiKey\n * @returns ProductAttributeValueSchema Successful Response\n * @throws ApiError\n */\nexport const productAttributeValuesGet = (\n data: ProductAttributeValuesGetData,\n): CancelablePromise<ProductAttributeValuesGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/product-attribute-values/{id}',\n path: {\n shop_id: data.shopId,\n id: data.id,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete product attribute value\n * Delete a product attribute value if it belongs to the given shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.id\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const productAttributeValuesDelete = (\n data: ProductAttributeValuesDeleteData,\n): CancelablePromise<ProductAttributeValuesDeleteResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/product-attribute-values/{id}',\n path: {\n shop_id: data.shopId,\n id: data.id,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create product attribute values for product\n * Assign existing attribute options to a product.\n *\n * Provide the shop and product UUIDs in the path and a non-empty ``option_ids``\n * list in the body. Each option must belong to an attribute in the same shop;\n * its attribute is inferred automatically. Existing assignments are left intact,\n * so repeating a request is safe and does not create duplicates.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.productId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const addProductAttributeOptions = (\n data: AddProductAttributeOptionsData,\n): CancelablePromise<AddProductAttributeOptionsResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/product-attribute-values/{product_id}',\n path: {\n shop_id: data.shopId,\n product_id: data.productId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Replace product attribute values for product\n * New version of selected options endpoint addressed by product_id in the path.\n *\n * This endpoint now accepts option_ids that may belong to different attributes.\n * Requirements/validations:\n * - product_id (path) must belong to the shop\n * - option_ids must be a non-empty list\n * - all option_ids must exist\n * - every inferred attribute (from the options) must belong to the shop\n * - for each inferred attribute, set selected options for (product_id, attribute) to exactly\n * the provided option_ids that belong to that attribute\n * @param data The data for the request.\n * @param data.shopId\n * @param data.productId\n * @param data.requestBody\n * @param data.xApiKey\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const productAttributeValuesReplaceForProduct = (\n data: ProductAttributeValuesReplaceForProductData,\n): CancelablePromise<ProductAttributeValuesReplaceForProductResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/product-attribute-values/{product_id}',\n path: {\n shop_id: data.shopId,\n product_id: data.productId,\n },\n headers: {\n 'X-API-Key': data.xApiKey,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List accounts\n * Returns all customer accounts for a shop. Accounts are created automatically when an order is placed with a new customer name.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @returns AccountSchema Successful Response\n * @throws ApiError\n */\nexport const getMultiShopsShopIdAccountsGet = (\n data: GetMultiShopsShopIdAccountsGetData,\n): CancelablePromise<GetMultiShopsShopIdAccountsGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/accounts/',\n path: {\n shop_id: data.shopId,\n },\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create account\n * Manually create a new customer account for a shop.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.requestBody\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const createShopsShopIdAccountsPost = (\n data: CreateShopsShopIdAccountsPostData,\n): CancelablePromise<CreateShopsShopIdAccountsPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/accounts/',\n path: {\n shop_id: data.shopId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get account\n * Retrieve a single customer account by its UUID.\n * @param data The data for the request.\n * @param data.id\n * @param data.shopId\n * @returns AccountSchema Successful Response\n * @throws ApiError\n */\nexport const getByIdShopsShopIdAccountsIdGet = (\n data: GetByIdShopsShopIdAccountsIdGetData,\n): CancelablePromise<GetByIdShopsShopIdAccountsIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/shops/{shop_id}/accounts/{id}',\n path: {\n id: data.id,\n shop_id: data.shopId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update account\n * Update an existing customer account's details.\n * @param data The data for the request.\n * @param data.accountId\n * @param data.shopId\n * @param data.requestBody\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const updateShopsShopIdAccountsAccountIdPut = (\n data: UpdateShopsShopIdAccountsAccountIdPutData,\n): CancelablePromise<UpdateShopsShopIdAccountsAccountIdPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/shops/{shop_id}/accounts/{account_id}',\n path: {\n account_id: data.accountId,\n shop_id: data.shopId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete account\n * Remove a customer account from a shop.\n * @param data The data for the request.\n * @param data.accountId\n * @param data.shopId\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteShopsShopIdAccountsAccountIdDelete = (\n data: DeleteShopsShopIdAccountsAccountIdDeleteData,\n): CancelablePromise<DeleteShopsShopIdAccountsAccountIdDeleteResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/accounts/{account_id}',\n path: {\n account_id: data.accountId,\n shop_id: data.shopId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create payment intent\n * Create a Stripe PaymentIntent for a one-time purchase. Uses the shop's own `stripe_secret_key` and the total saved on the order. Returns a `clientSecret` to complete the payment on the frontend.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.orderId\n * @returns string Successful Response\n * @throws ApiError\n */\nexport const createPaymentIntentShopsShopIdStripePost = (\n data: CreatePaymentIntentShopsShopIdStripePostData,\n): CancelablePromise<CreatePaymentIntentShopsShopIdStripePostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/stripe/',\n path: {\n shop_id: data.shopId,\n },\n query: {\n order_id: data.orderId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create subscription\n * Create a Stripe Subscription using products and plan stored on an order. Price lookup keys are resolved as `monthly-<product_id>` or `yearly-<product_id>`. Returns `clientSecret` and `subscriptionId` to confirm payment on the frontend.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.orderId\n * @returns string Successful Response\n * @throws ApiError\n */\nexport const createSubscriptionIntentShopsShopIdStripeSubscriptionPost = (\n data: CreateSubscriptionIntentShopsShopIdStripeSubscriptionPostData,\n): CancelablePromise<CreateSubscriptionIntentShopsShopIdStripeSubscriptionPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/shops/{shop_id}/stripe/subscription',\n path: {\n shop_id: data.shopId,\n },\n query: {\n order_id: data.orderId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Cancel subscription\n * Immediately cancel a Stripe Subscription. Uses the shop's `stripe_secret_key`.\n * @param data The data for the request.\n * @param data.shopId\n * @param data.subscriptionId\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const cancelSubscriptionShopsShopIdStripeSubscriptionSubscriptionIdDelete =\n (\n data: CancelSubscriptionShopsShopIdStripeSubscriptionSubscriptionIdDeleteData,\n ): CancelablePromise<CancelSubscriptionShopsShopIdStripeSubscriptionSubscriptionIdDeleteResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/shops/{shop_id}/stripe/subscription/{subscription_id}',\n path: {\n shop_id: data.shopId,\n subscription_id: data.subscriptionId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n };\n\n/**\n * Create\n * @param data The data for the request.\n * @param data.requestBody\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const createEarlyAccessPost = (\n data: CreateEarlyAccessPostData,\n): CancelablePromise<CreateEarlyAccessPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/early-access/',\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Form\n * @param data The data for the request.\n * @param data.shopId\n * @param data.productId\n * @param data.requestBody\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const formInfoRequestFormPost = (\n data: FormInfoRequestFormPostData,\n): CancelablePromise<FormInfoRequestFormPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/info-request/form',\n query: {\n shop_id: data.shopId,\n product_id: data.productId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Trigger Error\n * @param data The data for the request.\n * @param data.type\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const triggerErrorSentryGet = (\n data: TriggerErrorSentryGetData,\n): CancelablePromise<TriggerErrorSentryGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/sentry/',\n query: {\n type: data.type,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Form\n * @param data The data for the request.\n * @param data.requestBody\n * @returns unknown Successful Response\n * @throws ApiError\n */\nexport const formTestFormsPost = (\n data: FormTestFormsPostData = {},\n): CancelablePromise<FormTestFormsPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/test-forms/',\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * List FAQ entries\n * Returns all FAQ question/answer entries. Supports pagination, filtering, and sorting.\n * @param data The data for the request.\n * @param data.skip\n * @param data.limit\n * @param data.filter This filter can accept search query's like `key:value` and will split on the `:`. If it detects more than one `:`, or does not find a `:` it will search for the string in all columns.\n * @param data.sort The sort will accept parameters like `col:ASC` or `col:DESC` and will split on the `:`. If it does not find a `:` it will sort ascending on that column.\n * @returns FaqSchema Successful Response\n * @throws ApiError\n */\nexport const getMultiFaqGet = (\n data: GetMultiFaqGetData = {},\n): CancelablePromise<GetMultiFaqGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/faq/',\n query: {\n skip: data.skip,\n limit: data.limit,\n filter: data.filter,\n sort: data.sort,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Create FAQ entry\n * Add a new FAQ question and answer. Requires authentication. Returns 409 if a FAQ with the same question already exists.\n * @param data The data for the request.\n * @param data.requestBody\n * @returns FaqCreated Successful Response\n * @throws ApiError\n */\nexport const createFaqPost = (\n data: CreateFaqPostData,\n): CancelablePromise<CreateFaqPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/faq/',\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Get FAQ entry\n * Retrieve a single FAQ entry by its UUID.\n * @param data The data for the request.\n * @param data.id\n * @returns FaqSchema Successful Response\n * @throws ApiError\n */\nexport const getByIdFaqIdGet = (\n data: GetByIdFaqIdGetData,\n): CancelablePromise<GetByIdFaqIdGetResponse> => {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/faq/{id}',\n path: {\n id: data.id,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Update FAQ entry\n * Update an existing FAQ entry's question, answer, or category. Returns 409 if another entry already uses the same question.\n * @param data The data for the request.\n * @param data.faqId\n * @param data.requestBody\n * @returns FaqUpdated Successful Response\n * @throws ApiError\n */\nexport const updateFaqFaqIdPut = (\n data: UpdateFaqFaqIdPutData,\n): CancelablePromise<UpdateFaqFaqIdPutResponse> => {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/faq/{faq_id}',\n path: {\n faq_id: data.faqId,\n },\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Delete FAQ entry\n * Remove a FAQ entry. Requires authentication.\n * @param data The data for the request.\n * @param data.faqId\n * @returns void Successful Response\n * @throws ApiError\n */\nexport const deleteFaqFaqIdDelete = (\n data: DeleteFaqFaqIdDeleteData,\n): CancelablePromise<DeleteFaqFaqIdDeleteResponse> => {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/faq/{faq_id}',\n path: {\n faq_id: data.faqId,\n },\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n\n/**\n * Send Test Order Confirmation\n * Send a synthetic order confirmation mail through the configured SMTP.\n *\n * Intended for local testing against Mailpit. Gated by settings.MAIL_TEST_ENDPOINT_ENABLED.\n * @param data The data for the request.\n * @param data.requestBody\n * @returns MailTestResponse Successful Response\n * @throws ApiError\n */\nexport const sendTestOrderConfirmationMailTestSendOrderConfirmationPost = (\n data: SendTestOrderConfirmationMailTestSendOrderConfirmationPostData = {},\n): CancelablePromise<SendTestOrderConfirmationMailTestSendOrderConfirmationPostResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/mail-test/send-order-confirmation',\n body: data.requestBody,\n mediaType: 'application/json',\n errors: {\n 422: 'Validation Error',\n },\n });\n};\n"],"mappings":"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","names":["request","resolve","headers","request","resolve"]}