/** * This file was auto-generated by openapi-typescript and ts-morph. * Do not make direct changes to the file. */ export interface paths { readonly "/themes": { readonly parameters: { readonly query?: never; readonly header: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept: components["parameters"]["Accept"]; }; readonly path?: never; readonly cookie?: never; }; /** * Get all Themes * @description Returns a list of store *Themes*. */ readonly get: operations["getStoreThemes"]; /** * Upload a Theme * @description Uploads a new *Theme* to your BigCommerce store. * * **Required Fields** * * file */ readonly post: operations["uploadStoreTheme"]; }; readonly "/themes/{uuid}": { readonly parameters: { readonly query?: never; readonly header: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept: components["parameters"]["Accept"]; }; readonly path: { /** @description The theme identifier. */ readonly uuid: components["parameters"]["ThemeIdParam"]; }; readonly cookie?: never; }; /** * Get a Theme * @description Returns a store *Theme*. The theme variation is not available at this endpoint. */ readonly get: operations["getStoreTheme"]; /** * Delete a Theme * @description Deletes a store *Theme*. * Theme variations can not be deleted using this endpoint. This will delete the theme and all variations. */ readonly delete: operations["deleteStoreTheme"]; }; readonly "/themes/{uuid}/actions/download": { readonly parameters: { readonly query?: never; readonly header: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept: components["parameters"]["Accept"]; }; readonly path: { /** @description The theme identifier. */ readonly uuid: components["parameters"]["ThemeIdParam"]; }; readonly cookie?: never; }; /** * Download a Theme * @description Downloads a stores *Theme*. */ readonly post: operations["downloadStoreTheme"]; }; readonly "/themes/actions/activate": { readonly parameters: { readonly query?: { /** @description The ID for the channel where you want to activate the theme. */ readonly channel_id?: number; }; readonly header: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept: components["parameters"]["Accept"]; }; readonly path?: never; readonly cookie?: never; }; /** * Activate a Theme * @description Actives a store *Theme*. * * This returns a 204 response upon success. */ readonly post: operations["activateStoreTheme"]; }; readonly "/themes/jobs/{job_id}": { readonly parameters: { readonly query?: never; readonly header: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept: components["parameters"]["Accept"]; }; readonly path: { /** @description The job identifier. */ readonly job_id: components["parameters"]["JobIdParam"]; }; readonly cookie?: never; }; /** * Get a Theme Job * @description Returns a theme *Job*. When the job is complete, the results array provides a generated link to access the theme. The link is active for 60 seconds. */ readonly get: operations["getStoreThemeJob"]; }; readonly "/themes/{uuid}/configurations": { readonly parameters: { readonly query?: { /** @description Filter configurations by a list of configuration UUIDs. */ readonly "uuid:in"?: readonly string[]; /** @description Filter configurations by a variation_uuid */ readonly variation_uuid?: string; }; readonly header: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept: components["parameters"]["Accept"]; }; readonly path: { /** @description The theme identifier. */ readonly uuid: components["parameters"]["ThemeIdParam"]; }; readonly cookie?: never; }; /** * Get Theme Configuration * @description Returns a list of theme's configurations. * * **Usage Notes**: * * At least one filter must be provided. */ readonly get: operations["getThemeConfiguration"]; }; readonly "/themes/{uuid}/configurations/validate": { readonly parameters: { readonly query?: never; readonly header: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept: components["parameters"]["Accept"]; }; readonly path: { /** @description The theme identifier. */ readonly uuid: components["parameters"]["ThemeIdParam"]; }; readonly cookie?: never; }; /** * Validate Theme Configuration * @description Validates a theme configuration against the theme's schema without creating it. Useful for testing schemas before creation. */ readonly post: operations["validateThemeConfiguration"]; }; readonly "/themes/custom-templates/{version_uuid}": { readonly parameters: { readonly query?: never; readonly header: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept: components["parameters"]["Accept"]; }; readonly path: { readonly version_uuid: string; }; readonly cookie?: never; }; /** * Get Custom Templates * @description Enumerate available custom templates for in the theme files in a specific theme version for each supported entity type. */ readonly get: operations["getThemeCustomTemplates"]; }; } export type webhooks = Record; export interface components { schemas: { /** * Collection Meta * @description Response metadata. */ readonly CollectionMeta: { readonly [key: string]: unknown; }; /** * Themes Collection Meta * @description Response metadata. */ readonly ThemesCollectionMeta: { readonly [key: string]: unknown; }; /** @description Response metadata. */ readonly Meta: { readonly [key: string]: unknown; }; /** Error Response */ readonly ErrorResponse: { /** @description The HTTP status code. * */ readonly status?: number; /** @description The error title describing the particular error. * */ readonly title?: string; readonly type?: string; readonly instance?: string; } & { /** Detailed Errors */ readonly errors?: { readonly [key: string]: unknown; }; }; /** * Base Error * @description Error payload for the BigCommerce API. * */ readonly BaseError: { /** @description The HTTP status code. * */ readonly status?: number; /** @description The error title describing the particular error. * */ readonly title?: string; readonly type?: string; readonly instance?: string; }; /** Detailed Errors */ readonly DetailedErrors: { readonly [key: string]: unknown; }; /** * Not Found * @description Error payload for the BigCommerce API. */ readonly NotFound: { /** @description 404 HTTP status code. * */ readonly status?: number; /** @description The error title describing the particular error. */ readonly title?: string; readonly type?: string; readonly instance?: string; }; /** * Job Id * @description The job identifier for theme upload or download. */ readonly JobId: { /** @description The job identifier. */ readonly job_id?: string; }; /** * No Content * @description No-content response for the BigCommerce API. */ readonly NoContent: { /** @description 204 HTTP status code. * */ readonly status?: number; /** @description The error title describing the situation. */ readonly title?: string; readonly type?: string; readonly instance?: string; }; /** * Job * @description The job for theme upload or download */ readonly Job: { /** @description The errors. */ readonly errors?: readonly { /** @description The error. */ readonly error?: string; /** @description The message. */ readonly message?: string; }[]; /** @description The identifier. */ readonly id?: string; /** @description The percent complete. */ readonly percent_complete?: number; /** @description The result. */ readonly result?: { readonly [key: string]: unknown; }; /** * @description The status. * @enum {string} */ readonly status?: "COMPLETED" | "QUEUED" | "WORKING" | "FAILED"; /** * Format: date-time * @description The time. */ readonly time?: string; /** @description The warnings. */ readonly warnings?: readonly { /** @description The message. */ readonly message?: string; /** @description The warning. */ readonly warning?: string; }[]; }; /** @description A theme. */ readonly Theme: { /** @description The variations. */ readonly variations?: readonly { /** @description The description. */ readonly description?: string; /** @description The external identifier. */ readonly external_id?: string; /** @description The name. */ readonly name?: string; /** @description The identifier. */ readonly uuid?: string; }[]; /** @description The identifier. */ readonly uuid?: string; /** @description The theme name identifier. */ readonly name?: string; /** @description Flag to identify private themes. */ readonly is_private?: boolean; /** @description Indicates whether this theme is active on the storefront. */ readonly is_active?: boolean; /** @description The date-time of the last theme update. */ readonly updated_at?: string; }; /** * Activate * @description Request definition for activation endpoint. */ readonly Activate: { /** @description The identifier for the variation to activate. */ readonly variation_id: string; /** * @description Which configuration to use. * @enum {string} */ readonly which?: "original" | "last_activated" | "last_created"; }; /** @description A variation. */ readonly Variation: { /** @description The description. */ readonly description?: string; /** @description The external identifier. */ readonly external_id?: string; /** @description The name. */ readonly name?: string; /** @description The identifier. */ readonly uuid?: string; }; /** * Themes Collection Response * @description Response payload for the BigCommerce API. * */ readonly ThemesCollectionResponse: { readonly data?: readonly { /** @description The variations. */ readonly variations?: readonly { /** @description The description. */ readonly description?: string; /** @description The external identifier. */ readonly external_id?: string; /** @description The name. */ readonly name?: string; /** @description The identifier. */ readonly uuid?: string; }[]; /** @description The identifier. */ readonly uuid?: string; /** @description The theme name identifier. */ readonly name?: string; /** @description Flag to identify private themes. */ readonly is_private?: boolean; /** @description Indicates whether this theme is active on the storefront. */ readonly is_active?: boolean; /** @description The date-time of the last theme update. */ readonly updated_at?: string; }[]; /** * Collection Meta * @description Response metadata. */ readonly meta?: { readonly [key: string]: unknown; }; }; /** * Theme Response * @description Response payload for the BigCommerce API. * */ readonly ThemeResponse: { readonly data?: components["schemas"]["Theme"]; readonly meta?: components["schemas"]["CollectionMeta"]; }; /** * Job Response * @description Response for /GET Jobs by Id. */ readonly JobResponse: { /** * Job * @description The job for theme upload or download */ readonly data?: { /** @description The errors. */ readonly errors?: readonly { /** @description The error. */ readonly error?: string; /** @description The message. */ readonly message?: string; }[]; /** @description The identifier. */ readonly id?: string; /** @description The percent complete. */ readonly percent_complete?: number; /** @description The result. */ readonly result?: { readonly [key: string]: unknown; }; /** * @description The status. * @enum {string} */ readonly status?: "COMPLETED" | "QUEUED" | "WORKING" | "FAILED"; /** * Format: date-time * @description The time. */ readonly time?: string; /** @description The warnings. */ readonly warnings?: readonly { /** @description The message. */ readonly message?: string; /** @description The warning. */ readonly warning?: string; }[]; }; readonly meta?: components["schemas"]["OpenMeta"]; }; /** * Which Theme To Download * @description An object specifying which theme to download. One of: `original`: the original Marketplace or uploaded custom theme; `last_activated`: the theme version most recently applied to the store; `last_created`: the theme version most recently created. If `which` is missing or invalid in the request, its value will default to `last_activated`. */ readonly WhichThemeToDownload: { /** * @description Which revision to use. * @example original * @enum {string} */ readonly which?: "original" | "last_activated" | "last_created"; }; /** * Request Headers * @description These are the minium request headers needed for BigCommerce. */ readonly RequestHeaders: { /** @default application/json */ readonly Accepts: string; }; /** * themeConfiguration_Full * @description A theme. */ readonly themeConfiguration_Full: { readonly uuid?: string; /** @description The Theme to which the Configuration belongs. */ readonly theme_uuid?: string; /** @description The Variation to which the Configuration belongs. */ readonly variation_id?: string; /** * Format: json * @description The content of the configuration, which is a JSON object which will vary in structure from theme to theme. */ readonly settings?: { readonly [key: string]: unknown; }; readonly date_created?: string; /** @description Site ID to which this configuration belongs. Will be 0 for the original configuration for a Theme. */ readonly site_id?: number; }; /** * themeConfiguration_Write * @description A theme. */ readonly themeConfiguration_Write: { /** @description The Variation to which the Configuration belongs. */ readonly variation_id?: string; /** * Format: json * @description The content of the configuration, which is a JSON object which will vary in structure from theme to theme. */ readonly settings?: { readonly [key: string]: unknown; }; }; /** * Response meta * @description Response metadata. */ readonly OpenMeta: { readonly [key: string]: unknown; }; }; responses: { readonly themesConfigurations_RespCollection: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": { readonly data?: readonly components["schemas"]["themeConfiguration_Full"][]; readonly meta?: components["schemas"]["ThemesCollectionMeta"]; }; }; }; }; parameters: { /** @description The job identifier. */ readonly JobIdParam: string; /** @description The theme identifier. */ readonly ThemeIdParam: string; /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept: string; /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the request body. */ readonly ContentType: string; /** @description Specifies the page number in a limited (paginated) list. * */ readonly PageParam: number; /** @description Controls the number of items per page in a limited (paginated) list of products. * */ readonly LimitParam: number; }; requestBodies: never; headers: never; pathItems: never; } export type $defs = Record; export interface operations { readonly getStoreThemes: { readonly parameters: { readonly query?: never; readonly header?: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept?: components["parameters"]["Accept"]; }; readonly path?: never; readonly cookie?: never; }; readonly requestBody?: never; readonly responses: { readonly 200: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": components["schemas"]["ThemesCollectionResponse"]; }; }; }; }; readonly uploadStoreTheme: { readonly parameters: { readonly query?: never; readonly header?: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept?: components["parameters"]["Accept"]; /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the request body. */ readonly "Content-Type"?: components["parameters"]["ContentType"]; }; readonly path?: never; readonly cookie?: never; }; readonly requestBody: { readonly content: { readonly "multipart/form-data": { /** * Format: binary * @description The file. */ readonly file: string; }; }; }; readonly responses: { /** @description Job ID for the background job processing the theme upload. */ readonly 201: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": components["schemas"]["JobId"]; }; }; /** @description Error message. */ readonly default: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": { /** @description The HTTP status code. * */ readonly status?: number; /** @description The error title describing the particular error. * */ readonly title?: string; readonly type?: string; readonly instance?: string; } & { /** DetailedErrors */ readonly errors?: { readonly [key: string]: unknown; }; }; }; }; }; }; readonly getStoreTheme: { readonly parameters: { readonly query?: never; readonly header?: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept?: components["parameters"]["Accept"]; }; readonly path: { /** @description The theme identifier. */ readonly uuid: components["parameters"]["ThemeIdParam"]; }; readonly cookie?: never; }; readonly requestBody?: never; readonly responses: { readonly 200: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": components["schemas"]["ThemeResponse"]; }; }; /** @description Error message. */ readonly default: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": { /** @description The HTTP status code. * */ readonly status?: number; /** @description The error title describing the particular error. * */ readonly title?: string; readonly type?: string; readonly instance?: string; } & { /** Detailed Errors */ readonly errors?: { readonly [key: string]: unknown; }; }; }; }; }; }; readonly deleteStoreTheme: { readonly parameters: { readonly query?: never; readonly header?: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept?: components["parameters"]["Accept"]; }; readonly path: { /** @description The theme identifier. */ readonly uuid: components["parameters"]["ThemeIdParam"]; }; readonly cookie?: never; }; readonly requestBody?: never; readonly responses: { readonly 204: { headers: { readonly [name: string]: unknown; }; content?: never; }; /** @description Error message. */ readonly default: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": { /** @description The HTTP status code. * */ readonly status?: number; /** @description The error title describing the particular error. * */ readonly title?: string; readonly type?: string; readonly instance?: string; } & { /** DetailedErrors */ readonly errors?: { readonly [key: string]: unknown; }; }; }; }; }; }; readonly downloadStoreTheme: { readonly parameters: { readonly query?: never; readonly header?: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept?: components["parameters"]["Accept"]; /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the request body. */ readonly "Content-Type"?: components["parameters"]["ContentType"]; }; readonly path: { /** @description The theme identifier. */ readonly uuid: components["parameters"]["ThemeIdParam"]; }; readonly cookie?: never; }; readonly requestBody: { readonly content: { readonly "application/json": components["schemas"]["WhichThemeToDownload"]; }; }; readonly responses: { /** @description Job ID for the background job processing the download. */ readonly 200: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": components["schemas"]["JobId"]; }; }; /** @description Error message. */ readonly default: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": { /** @description The HTTP status code. * */ readonly status?: number; /** @description The error title describing the particular error. * */ readonly title?: string; readonly type?: string; readonly instance?: string; } & { /** Detailed Errors */ readonly errors?: { readonly [key: string]: unknown; }; }; }; }; }; }; readonly activateStoreTheme: { readonly parameters: { readonly query?: { /** @description The ID for the channel where you want to activate the theme. */ readonly channel_id?: number; }; readonly header?: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept?: components["parameters"]["Accept"]; /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the request body. */ readonly "Content-Type"?: components["parameters"]["ContentType"]; }; readonly path?: never; readonly cookie?: never; }; /** @description Request parameters. */ readonly requestBody: { readonly content: { readonly "application/json": components["schemas"]["Activate"]; }; }; readonly responses: { /** @description This returns when the request is successful. */ readonly 204: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": components["schemas"]["NoContent"]; }; }; /** @description Error message. */ readonly default: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": { /** @description The HTTP status code. * */ readonly status?: number; /** @description The error title describing the particular error. * */ readonly title?: string; readonly type?: string; readonly instance?: string; } & { /** Detailed Errors */ readonly errors?: { readonly [key: string]: unknown; }; }; }; }; }; }; readonly getStoreThemeJob: { readonly parameters: { readonly query?: never; readonly header?: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept?: components["parameters"]["Accept"]; }; readonly path: { /** @description The job identifier. */ readonly job_id: components["parameters"]["JobIdParam"]; }; readonly cookie?: never; }; readonly requestBody?: never; readonly responses: { readonly 200: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": components["schemas"]["JobResponse"]; }; }; /** @description Error message. */ readonly default: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": { /** @description The HTTP status code. * */ readonly status?: number; /** @description The error title describing the particular error. * */ readonly title?: string; readonly type?: string; readonly instance?: string; } & { /** Detailed Errors */ readonly errors?: { readonly [key: string]: unknown; }; }; }; }; }; }; readonly getThemeConfiguration: { readonly parameters: { readonly query?: { /** @description Filter configurations by passing a comma-separated list of configuration UUIDs. */ readonly "uuid:in"?: readonly string[]; /** @description Filter configurations by a variation_uuid. */ readonly variation_uuid?: string; /** @description Filter configurations by passing a comma-separated list of channel IDs. */ readonly "channel_id:in"?: readonly number[]; /** @description Specifies the page number in a limited (paginated) list. * */ readonly page?: components["parameters"]["PageParam"]; /** @description Controls the number of items per page in a limited (paginated) list of products. * */ readonly limit?: components["parameters"]["LimitParam"]; }; readonly header?: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept?: components["parameters"]["Accept"]; }; readonly path: { /** @description The theme identifier. */ readonly uuid: components["parameters"]["ThemeIdParam"]; }; readonly cookie?: never; }; readonly requestBody?: never; readonly responses: { readonly 200: components["responses"]["themesConfigurations_RespCollection"]; }; }; readonly validateThemeConfiguration: { readonly parameters: { readonly query?: never; readonly header?: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept?: components["parameters"]["Accept"]; /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the request body. */ readonly "Content-Type"?: components["parameters"]["ContentType"]; }; readonly path: { /** @description The theme identifier. */ readonly uuid: components["parameters"]["ThemeIdParam"]; }; readonly cookie?: never; }; readonly requestBody?: { readonly content: { readonly "application/json": components["schemas"]["themeConfiguration_Write"]; }; }; readonly responses: { /** @description Theme passes validation. */ readonly 200: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": Record; }; }; /** @description Theme failed validation, detailed errors in response. */ readonly 422: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; readonly getThemeCustomTemplates: { readonly parameters: { readonly query?: never; readonly header?: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept?: components["parameters"]["Accept"]; }; readonly path: { readonly version_uuid: string; }; readonly cookie?: never; }; readonly requestBody?: never; readonly responses: { /** @description OK */ readonly 200: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": { readonly data?: { readonly product?: readonly string[]; readonly category?: readonly string[]; readonly brand?: readonly string[]; readonly page?: readonly string[]; }; readonly meta?: components["schemas"]["OpenMeta"]; }; }; }; }; }; }