/** * This file was auto-generated by openapi-typescript and ts-morph. * Do not make direct changes to the file. */ export interface paths { readonly "/tax/zones": { 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 Tax Zones * @description Retrieve a selection of tax zones when you provide a list of tax zone IDs. Otherwise, retrieve all tax zones defined on the store. */ readonly get: operations["getTaxZones"]; /** * Update Tax Zones * @description Update one or more tax zones. Only the tax zone `id` field is required. Fields unspecified by the request will retain their current state. */ readonly put: operations["updateTaxZones"]; /** * Create Tax Zones * @description Create one or more tax zones. * * > #### Note * > You cannot create a default tax zone. */ readonly post: operations["createTaxZones"]; /** * Delete Tax Zones * @description Delete one or more tax zones. Deleting a tax zone removes all associated tax rates. * * > You must specify which zone(s) to delete using the `id:in` query parameter. */ readonly delete: operations["deleteTaxZones"]; }; readonly "/tax/rates": { 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 Tax Rates * @description Retrieve a list of tax rates. */ readonly get: operations["getTaxRates"]; /** * Update Tax Rates * @description Update one or more tax rates. Only the tax rate `id` field is required. Fields unspecified by the request will retain their current state. */ readonly put: operations["updateTaxRates"]; /** * Create Tax Rates * @description Create one or more tax rates. Tax rates must be associated with a `tax_zone_id`. */ readonly post: operations["createTaxRates"]; /** * Delete Tax Rates * @description Delete one or more tax rates. * * > You must specify which rate(s) to delete using the `id:in` query parameter. */ readonly delete: operations["deleteTaxRates"]; }; } export type webhooks = Record; export interface components { schemas: { readonly Tax_Zone: { /** @description Tax Zone ID. Internal identifier used to get, update, or delete a specific tax zone. */ readonly id?: number; /** * @description The human-readable name for this tax zone. The name appears in the store control panel. * @example Australia */ readonly name?: string; /** * @description Indicates whether a tax zone is enabled. Tax operations are only for enabled zones. * @default true */ readonly enabled: boolean; /** @description Settings that describe how a store displays prices to shoppers matched with this tax zone. */ readonly price_display_settings?: { /** @description Indicates whether to show prices as tax inclusive or tax exclusive to shoppers matched with this tax zone. */ readonly show_inclusive?: boolean; /** @description Indicates whether to show both tax inclusive and tax exclusive prices when viewing product detail; for example, on product pages. This view applies to shoppers matched with this tax zone. */ readonly show_both_on_detail_view?: boolean; /** @description Indicates whether to show both tax inclusive and tax exclusive prices when viewing a list of products; for example, on category and brand pages. This view applies to shoppers matched with this tax zone. */ readonly show_both_on_list_view?: boolean; }; /** @description Settings that describe which shoppers match this tax zone and help determine the most appropriate target for a shopper. You cannot define shopper target settings for the default tax zone because it must accommodate all shoppers who donʼt qualify for any other zone. */ readonly shopper_target_settings?: { /** @description A tax zone may target shoppers in one or more locations. */ readonly locations?: readonly { /** * @description Two-letter ISO 3166-1 country code * @example AU */ readonly country_code?: string; /** * @description Three-letter ISO 3166-2 subdivision code * @example [ * "NSW", * "QLD" * ] */ readonly subdivision_codes?: readonly string[]; /** @example [ * "2234", * "2170" * ] */ readonly postal_codes?: readonly string[]; }[]; /** @description One or more customer groups that a tax zone targets. Empty array if zone applies to all customers. */ readonly customer_groups?: readonly number[]; }; }; readonly Tax_ZonePUT: { /** @description Tax Zone ID. Internal identifier used to get, update, or delete a specific tax zone. */ readonly id: number; /** * @description The human-readable name for this tax zone. The name appears in the store control panel. * @example Australia */ readonly name?: string; /** * @description Indicates whether a tax zone is enabled. Tax operations are only for enabled zones. * @default true */ readonly enabled: boolean; /** @description Settings that describe how a store displays prices to shoppers matched with this tax zone. */ readonly price_display_settings?: { /** @description Indicates whether to show prices as tax inclusive or tax exclusive to shoppers matched with this tax zone. */ readonly show_inclusive?: boolean; /** @description Indicates whether to show both tax inclusive and tax exclusive prices when viewing product detail; for example, on product pages. This view applies to shoppers matched with this tax zone. */ readonly show_both_on_detail_view?: boolean; /** @description Indicates whether to show both tax inclusive and tax exclusive prices when viewing a list of products; for example, on category and brand pages. This view applies to shoppers matched with this tax zone. */ readonly show_both_on_list_view?: boolean; }; /** @description Settings that describe which shoppers match this tax zone and help determine the most appropriate target for a shopper. You cannot define shopper target settings for the default tax zone because it must accommodate all shoppers who donʼt qualify for any other zone. */ readonly shopper_target_settings?: { /** @description A tax zone may target shoppers in one or more locations. */ readonly locations?: readonly { /** * @description Two-letter ISO 3166-1 country code * @example AU */ readonly country_code?: string; /** * @description Three-letter ISO 3166-2 subdivision code * @example [ * "NSW", * "QLD" * ] */ readonly subdivision_codes?: readonly string[]; /** @example [ * "2234", * "2170" * ] */ readonly postal_codes?: readonly string[]; }[]; /** @description One or more customer groups that a tax zone targets. Empty array if zone applies to all customers. */ readonly customer_groups?: readonly number[]; }; }; readonly Tax_ZonePOST: { /** * @description The human-readable name for this tax zone. The name appears in the store control panel. * @example Australia */ readonly name: string; /** * @description Indicates whether a tax zone is enabled. Tax operations are only for enabled zones. * @default true */ readonly enabled: boolean; /** @description Settings that describe how a store displays prices to shoppers matched with this tax zone. */ readonly price_display_settings?: { /** @description Indicates whether to show prices as tax inclusive or tax exclusive to shoppers matched with this tax zone. */ readonly show_inclusive: boolean; /** * @description Indicates whether to show both tax inclusive and tax exclusive prices when viewing product detail; for example, on product pages. This view applies to shoppers matched with this tax zone. * @default false */ readonly show_both_on_detail_view: boolean; /** * @description Indicates whether to show both tax inclusive and tax exclusive prices when viewing a list of products; for example, on category and brand pages. This view applies to shoppers matched with this tax zone. * @default false */ readonly show_both_on_list_view: boolean; }; /** @description Settings that describe which shoppers match this tax zone and help determine the most appropriate target for a shopper. */ readonly shopper_target_settings?: { /** @description A tax zone may target shoppers in one or more locations. */ readonly locations: readonly { /** * @description Two-letter ISO 3166-1 country code * @example AU */ readonly country_code?: string; /** * @description Three-letter ISO 3166-2 subdivision code * @example [ * "NSW", * "QLD" * ] */ readonly subdivision_codes?: readonly string[]; /** @example [ * "2234", * "2170" * ] */ readonly postal_codes?: readonly string[]; }[]; /** @description One or more customer groups that a tax zone targets. Empty array if zone applies to all customers. */ readonly customer_groups?: readonly number[]; }; }; readonly Tax_Rate: { /** @description Tax rates for tax classes. You must assign at least one tax rate for each tax class defined on a store. */ readonly class_rates?: readonly { /** * @description The tax rate that you apply to the items in a tax class. * @example 5 */ readonly rate?: number; /** * @description ID of a tax class. You must associate a tax rate with a tax class. The rate will apply to all the items in this tax class. * @example 1 */ readonly tax_class_id?: number; }[]; /** * @description Indicates whether a tax rate is enabled. Tax operations are only for enabled zones. * @default true */ readonly enabled: boolean; /** * @description Tax Rate ID. Internal identifier to update and delete a specific tax rate. * @example 3 */ readonly id?: number; /** * @description The human-readable name for this tax zone. The name appears in the store control panel and may be visible to shoppers, depending on store tax settings. * @example Sales Tax */ readonly name?: string; /** * @description Allows for compounding tax rates, common in certain jurisdictions. * @default 1 */ readonly priority: number; /** * @description ID of an associated tax zone. You must associate a tax rate with a tax zone. * @example 2 */ readonly tax_zone_id?: number; }; readonly Tax_RatePUT: { /** @description Tax rates for tax classes. You must assign at least one tax rate for each tax class defined on a store. */ readonly class_rates?: readonly { /** * @description The tax rate that you apply to the items in a tax class. * @example 5 */ readonly rate?: number; /** * @description ID of a tax class. You must associate a tax rate with a tax class. The rate will apply to all the items in this tax class. * @example 1 */ readonly tax_class_id?: number; }[]; /** * @description Indicates whether a tax rate is enabled. Tax operations are only for enabled zones. * @default true */ readonly enabled: boolean; /** * @description Tax Rate ID. Internal identifier to update and delete a specific tax rate. * @example 3 */ readonly id: number; /** * @description The human-readable name for this tax zone. The name appears in the store control panel and may be visible to shoppers, depending on store tax settings. * @example Sales Tax */ readonly name?: string; /** * @description Allows for compounding tax rates, common in certain jurisdictions. * @default 1 */ readonly priority: number; /** * @description ID of an associated tax zone. You must associate a tax rate with a tax zone. * @example 2 */ readonly tax_zone_id?: number; }; readonly Tax_RatePOST: { /** @description Tax rates for tax classes. You must assign at least one tax rate for each tax class defined on a store. */ readonly class_rates: readonly { /** * @description The tax rate that you apply to the items in a tax class. * @example 5 */ readonly rate: number; /** * @description ID of a tax class. You must associate a tax rate with a tax class. The rate will apply to all items in this tax class. * @example 1 */ readonly tax_class_id: number; }[]; /** * @description Indicates whether a tax rate is enabled. Tax operations are only for enabled zones. * @default true */ readonly enabled: boolean; /** * @description The human-readable name for this tax zone. The name appears in the store control panel and may be visible to shoppers, depending on store tax settings. * @example Sales Tax */ readonly name: string; /** * @description Allows for compounding tax rates, common in certain jurisdictions. * @default 1 */ readonly priority: number; /** * @description ID of an associated tax zone. You must associate a tax rate with a tax zone. * @example 2 */ readonly tax_zone_id: number; }; /** Meta */ readonly Meta: { readonly pagination?: { readonly total?: number; readonly count?: number; readonly per_page?: number; readonly current_page?: number; readonly total_pages?: number; readonly links?: { readonly current?: string; }; }; }; /** * Response meta * @description Response metadata. */ readonly MetaOpen: { readonly [key: string]: unknown; }; }; responses: never; parameters: { /** @description Permanent ID of the BigCommerce store. */ readonly storeHash: 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 "Content-Type": string; /** @description Filter by `id`. Use a comma-separated CSV string of IDs for multiple selections. For example, `5` or `12,34,56`. */ readonly idIn: readonly number[]; /** @description Filter by tax zone `id`. Use a comma-separated CSV string of IDs for multiple tax zones. For example, `5` or `12,34,56`. */ readonly zoneIdIn: readonly number[]; /** @description Filter by tax rate `id`. Use a comma-separated CSV string of IDs for multiple tax rates. For example, `5` or `12,34,56`. */ readonly rateIdIn: readonly number[]; /** @description Filter by tax zone `id`. Use a comma-separated CSV string of IDs for multiple tax zones. For example, `5` or `12,34,56`. */ readonly taxZoneIdIn: readonly number[]; }; requestBodies: { readonly Tax_RateArray: { readonly content: { readonly "application/json": readonly components["schemas"]["Tax_RatePUT"][]; }; }; readonly Tax_RateArrayPOST: { readonly content: { readonly "application/json": readonly components["schemas"]["Tax_RatePOST"][]; }; }; readonly Tax_ZoneArray: { readonly content: { readonly "application/json": readonly components["schemas"]["Tax_ZonePUT"][]; }; }; readonly Tax_ZoneArrayPOST: { readonly content: { readonly "application/json": readonly components["schemas"]["Tax_ZonePOST"][]; }; }; }; headers: never; pathItems: never; } export type $defs = Record; export interface operations { readonly getTaxZones: { readonly parameters: { readonly query?: { /** @description Filter by tax zone `id`. Use a comma-separated CSV string of IDs for multiple tax zones. For example, `5` or `12,34,56`. */ readonly "id:in"?: components["parameters"]["zoneIdIn"]; }; 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: { /** @description OK */ readonly 200: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": { readonly data?: readonly components["schemas"]["Tax_Zone"][]; readonly meta?: components["schemas"]["MetaOpen"]; }; }; }; }; }; readonly updateTaxZones: { 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"]["Content-Type"]; }; readonly path?: never; readonly cookie?: never; }; readonly requestBody: components["requestBodies"]["Tax_ZoneArray"]; readonly responses: { /** @description OK */ readonly 200: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": { readonly data?: readonly components["schemas"]["Tax_Zone"][]; readonly meta?: components["schemas"]["MetaOpen"]; }; }; }; }; }; readonly createTaxZones: { 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"]["Content-Type"]; }; readonly path?: never; readonly cookie?: never; }; readonly requestBody: components["requestBodies"]["Tax_ZoneArrayPOST"]; readonly responses: { /** @description OK */ readonly 200: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": { readonly data?: readonly components["schemas"]["Tax_Zone"][]; readonly meta?: components["schemas"]["MetaOpen"]; }; }; }; }; }; readonly deleteTaxZones: { readonly parameters: { readonly query?: { /** @description Filter by tax zone `id`. Use a comma-separated CSV string of IDs for multiple tax zones. For example, `5` or `12,34,56`. */ readonly "id:in"?: components["parameters"]["zoneIdIn"]; }; 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: { /** @description No Content */ readonly 204: { headers: { readonly [name: string]: unknown; }; content?: never; }; }; }; readonly getTaxRates: { readonly parameters: { readonly query?: { /** @description Filter by tax rate `id`. Use a comma-separated CSV string of IDs for multiple tax rates. For example, `5` or `12,34,56`. */ readonly "id:in"?: components["parameters"]["rateIdIn"]; /** @description Filter by tax zone `id`. Use a comma-separated CSV string of IDs for multiple tax zones. For example, `5` or `12,34,56`. */ readonly "tax_zone_id:in"?: components["parameters"]["taxZoneIdIn"]; }; 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: { /** @description OK */ readonly 200: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": { readonly data?: readonly components["schemas"]["Tax_Rate"][]; readonly meta?: components["schemas"]["Meta"]; }; }; }; }; }; readonly updateTaxRates: { 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"]["Content-Type"]; }; readonly path?: never; readonly cookie?: never; }; readonly requestBody: components["requestBodies"]["Tax_RateArray"]; readonly responses: { /** @description OK */ readonly 200: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": { readonly data?: readonly components["schemas"]["Tax_Rate"][]; readonly meta?: components["schemas"]["MetaOpen"]; }; }; }; }; }; readonly createTaxRates: { 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"]["Content-Type"]; }; readonly path?: never; readonly cookie?: never; }; readonly requestBody: components["requestBodies"]["Tax_RateArrayPOST"]; readonly responses: { /** @description OK */ readonly 200: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": { readonly data?: readonly components["schemas"]["Tax_Rate"][]; readonly meta?: components["schemas"]["MetaOpen"]; }; }; }; }; }; readonly deleteTaxRates: { readonly parameters: { readonly query?: { /** @description Filter by tax rate `id`. Use a comma-separated CSV string of IDs for multiple tax rates. For example, `5` or `12,34,56`. */ readonly "id:in"?: components["parameters"]["rateIdIn"]; }; 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: { /** @description No Content */ readonly 204: { headers: { readonly [name: string]: unknown; }; content?: never; }; }; }; }