{"openapi":"3.1.0","info":{"title":"Admin Management: Tax Classes V3","version":"1.0.0"},"paths":{"/stores/{store_hash}/v3/tax/classes":{"post":{"operationId":"taxClassBatchPost","summary":"Create tax classes","description":"Creates multiple tax classes in a single request. Max **50** items per request.\n","tags":["taxClasses"],"parameters":[{"name":"store_hash","in":"path","description":"Permanent ID of the BigCommerce store.","required":true,"schema":{"type":"string"}},{"name":"X-Auth-Token","in":"header","description":"### OAuth scopes\n\n| UI Name | Permission | Parameter |\n|:--------|:-----------|:----------|\n| Tax | modify | `MANAGE_TAX` |\n\n### Authentication header\n\n| Header | Argument | Description |\n|:-------|:---------|:------------|\n| `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). |\n\n### Further reading\n\nFor example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#x-auth-token-header-example-requests).\n\nFor more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes).\n\nFor a list of API status codes, see [API Status Codes](/docs/start/about/status-codes).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Created classes returned as a collection.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaxClassCollectionEnvelope"}}}},"400":{"description":"Bad request (e.g., invalid input).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemResponseEnvelope"}}}},"403":{"description":"Authentication or `Manage_Tax` denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemResponseEnvelope"}}}},"409":{"description":"Duplicate tax class names (conflict).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemResponseEnvelope"}}}},"413":{"description":"Batch exceeds limit (50 items).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemResponseEnvelope"}}}},"422":{"description":"Unprocessable entity — empty body, non-array batch shape, or duplicate `name` or `id` within the batch.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemResponseEnvelope"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaxClassCreateBatch"}}}}},"put":{"operationId":"taxClassBatchPut","summary":"Update tax classes","description":"Updates multiple tax classes in a single request. Max **50** items per request.\n","tags":["taxClasses"],"parameters":[{"name":"store_hash","in":"path","description":"Permanent ID of the BigCommerce store.","required":true,"schema":{"type":"string"}},{"name":"X-Auth-Token","in":"header","description":"### OAuth scopes\n\n| UI Name | Permission | Parameter |\n|:--------|:-----------|:----------|\n| Tax | modify | `MANAGE_TAX` |\n\n### Authentication header\n\n| Header | Argument | Description |\n|:-------|:---------|:------------|\n| `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). |\n\n### Further reading\n\nFor example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#x-auth-token-header-example-requests).\n\nFor more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes).\n\nFor a list of API status codes, see [API Status Codes](/docs/start/about/status-codes).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Updated classes returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaxClassCollectionEnvelope"}}}},"400":{"description":"One or more classes not found (update).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemResponseEnvelope"}}}},"403":{"description":"Authentication or permission denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemResponseEnvelope"}}}},"409":{"description":"Duplicate tax class names.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemResponseEnvelope"}}}},"413":{"description":"Batch exceeds 50 ids/items.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemResponseEnvelope"}}}},"422":{"description":"Validation error (format, duplicate `id` in batch, invalid ID values, ID-only update payload, etc.).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemResponseEnvelope"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaxClassUpdateBatch"}}}}},"delete":{"operationId":"taxClassBatchDelete","summary":"Delete tax classes","description":"Deletes multiple tax classes in a single request. Max **50** items per request.\n","tags":["taxClasses"],"parameters":[{"name":"store_hash","in":"path","description":"Permanent ID of the BigCommerce store.","required":true,"schema":{"type":"string"}},{"name":"id:in","in":"query","description":"Comma-separated list of tax class IDs to delete (e.g., `1,2,3`).\n","required":true,"schema":{"type":"string"}},{"name":"X-Auth-Token","in":"header","description":"### OAuth scopes\n\n| UI Name | Permission | Parameter |\n|:--------|:-----------|:----------|\n| Tax | modify | `MANAGE_TAX` |\n\n### Authentication header\n\n| Header | Argument | Description |\n|:-------|:---------|:------------|\n| `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). |\n\n### Further reading\n\nFor example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#x-auth-token-header-example-requests).\n\nFor more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes).\n\nFor a list of API status codes, see [API Status Codes](/docs/start/about/status-codes).","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"All listed classes deleted successfully.","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Delete failed (e.g., class not found).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemResponseEnvelope"}}}},"403":{"description":"Authentication or permission denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemResponseEnvelope"}}}},"404":{"description":"Missing or empty `id:in` filter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemResponseEnvelope"}}}},"413":{"description":"More than 50 IDs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemResponseEnvelope"}}}},"422":{"description":"Invalid ID values in filter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemResponseEnvelope"}}}}}}}},"servers":[{"url":"https://api.bigcommerce.com","description":"https://api.bigcommerce.com"}],"components":{"schemas":{"TaxClassCreateBatchItems":{"type":"object","properties":{"name":{"type":"string","description":"Tax class name. Must be 1–100 characters and cannot contain < > { } ` ( ) ; |. Must be unique case-insensitively across the store (both existing classes and the incoming batch). Conflicting names produce a 409.\n"}},"required":["name"],"title":"TaxClassCreateBatchItems"},"TaxClassCreateBatch":{"type":"array","items":{"$ref":"#/components/schemas/TaxClassCreateBatchItems"},"title":"TaxClassCreateBatch"},"TaxClassResource":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"created_at":{"type":"string","format":"date-time","description":"ISO-8601 timestamp."},"updated_at":{"type":"string","format":"date-time"}},"required":["id","name","created_at","updated_at"],"title":"TaxClassResource"},"TaxClassCollectionEnvelopeMeta":{"type":"object","properties":{},"description":"Response metadata (may be an empty object).","title":"TaxClassCollectionEnvelopeMeta"},"TaxClassCollectionEnvelope":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TaxClassResource"}},"meta":{"$ref":"#/components/schemas/TaxClassCollectionEnvelopeMeta","description":"Response metadata (may be an empty object)."}},"required":["data","meta"],"title":"TaxClassCollectionEnvelope"},"Problem":{"type":"object","properties":{"title":{"type":"string"},"status":{"type":"integer"},"type":{"type":"string","format":"uri"},"detail":{"type":"string"},"code":{"type":"integer"},"errors":{"type":"object","additionalProperties":{"description":"Any type"}}},"description":"RFC 7807-style problem object (optional fields omitted when empty).","title":"Problem"},"ProblemResponseEnvelopeMeta":{"type":"object","properties":{},"title":"ProblemResponseEnvelopeMeta"},"ProblemResponseEnvelope":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/Problem"}},"meta":{"$ref":"#/components/schemas/ProblemResponseEnvelopeMeta"}},"title":"ProblemResponseEnvelope"},"TaxClassUpdateBatchItems":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name"],"description":"Each item must include `id` and at least one other field.\n","title":"TaxClassUpdateBatchItems"},"TaxClassUpdateBatch":{"type":"array","items":{"$ref":"#/components/schemas/TaxClassUpdateBatchItems"},"title":"TaxClassUpdateBatch"}},"securitySchemes":{"X-Auth-Token":{"type":"apiKey","in":"header","name":"X-Auth-Token","description":"### OAuth scopes\n\n| UI Name | Permission | Parameter |\n|:--------|:-----------|:----------|\n| Tax | modify | `MANAGE_TAX` |\n\n### Authentication header\n\n| Header | Argument | Description |\n|:-------|:---------|:------------|\n| `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). |\n\n### Further reading\n\nFor example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#x-auth-token-header-example-requests).\n\nFor more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes).\n\nFor a list of API status codes, see [API Status Codes](/docs/start/about/status-codes)."}}}}