{
"code": 400,
"type": "MISSING_FIELD",
"message": "Required field 'address_country' is missing"
}
{
"code": 400,
"type": "MISSING_FIELD",
"message": "Required field 'address_country' is missing"
}
{
"code": 400,
"type": "MISSING_FIELD",
"message": "Required field 'address_country' is missing"
}
{
"code": 400,
"type": "MISSING_FIELD",
"message": "Required field 'address_country' is missing"
}
Classify Products
Suggest a Numeral tax category for up to 20 products from their names and descriptions, using the AI provider keys stored for your account. Optionally create the classified products in one call. Available on API version 2026-01-01 and later.
Suggest a tax category for each product from its name and description, and optionally create the products in the same call. Every suggested category is a code from the product categories list, so the result can go straight into POST /tax/products or a calculation line item.
Product classification is in limited availability. Accounts that are not enabled receive a 404 ENDPOINT_NOT_FOUND from this endpoint. Contact your Numeral representative to enable it.
Remember to include the X-API-Version: 2026-11-01 header in your request to use this API version. This endpoint requires version 2026-01-01 or later.
Classification runs on your own AI provider keys, not Numeral’s. Store them in the dashboard under Developers > Product Classification AI API Keys and Settings before calling this endpoint. Test keys (sk_test_...) use the keys saved for the test environment and production keys use the production ones. A single OpenAI key is enough; Gemini and Anthropic keys are also supported. See the product classification guide for details.
A category was chosen. Review low scores before relying on them.
fallback
GENERAL_MERCHANDISE
null
No category could be chosen. Treat the suggestion as a placeholder.
failed
null
null
This product could not be processed. Retry it in a later batch.
With create_products: true, product_creation_status reports what happened to each product record. Only classified products are created; fallback and failed products report not_classified. A product that already exists under the same reference_product_id is left unchanged and reports already_exists.
When true, every product that classifies successfully is also created with the suggested category, as if sent to POST /tax/products. Products already registered under the same reference_product_id are left unchanged. reference_product_id must then be unique within the batch.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Numeral API","colors":{"primary":"#0D9373","light":"#07C983","dark":"#0D9373"},"logo":{"light":"https://mintcdn.com/numeralhq/w35K7dUKWBDiixfd/logo/logo.svg?fit=max\u0026auto=format\u0026n=w35K7dUKWBDiixfd\u0026q=85\u0026s=2330fe2568887c273331c4846f7a4d1e","dark":"https://mintcdn.com/numeralhq/w35K7dUKWBDiixfd/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=w35K7dUKWBDiixfd\u0026q=85\u0026s=3c46c5bdc314577d1ce3660b957c0ad8"},"favicon":"https://mintcdn.com/numeralhq/NAgHCHKl6ucev5Pu/favicon.ico?fit=max\u0026auto=format\u0026n=NAgHCHKl6ucev5Pu\u0026q=85\u0026s=a6ecac944d1933a8432a8b2234eed9a4","api":{"openapi":["api-reference/v2026-03-01/openapi.json","api-reference/v2026-01-01/openapi.json","api-reference/v2025-05-12/openapi.json","api-reference/v2024-09-01/openapi.json","api-reference/v2026-11-01/openapi.json"]},"navbar":{"links":[{"href":"mailto:hi@mintlify.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.mintlify.com"}},"interaction":{"drilldown":false},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"numeralhq","hasAudioNarration":false,"actualSubdomain":"numeralhq","customDomains":["docs.numeral.com"],"gitSource":{"type":"github","owner":"numeralhq","repo":"tax-engine-documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeb9a129cffc6a312e0949b","collectionId":"3c3b1f33-7ce8-4f59-8206-67ae8c69d5f8","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeb9a129cffc6a312e0949b"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeb9a129cffc6a312e0949b","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"API Documentation","count":56},{"language":"default","tag":"Integrations","count":54},{"language":"default","tag":"Platform Integrations","count":48},{"language":"default","tag":"API Reference","count":46},{"language":"default","tag":"Getting Started","count":10},{"language":"default","tag":"Stripe","count":8},{"language":"default","tag":"Integration Guides","count":6},{"language":"default","tag":"Numeral for Stripe Checkout","count":6},{"language":"default","tag":"Shopify","count":5},{"language":"default","tag":"MCP","count":5}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"src/style.css","content":".text-gray-100{color:#c1c2c5}[class*=\"max-w-8xl\"]{max-width:112rem!important}#content-container{max-width:none!important}td:first-child code{white-space:nowrap}"},{"filePath":"src/resource-pages.css","content":".sx-section{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:3rem;padding:2.5rem 0;border-top:1px solid rgb(127 127 127 / 0.2)}.sx-section:first-of-type{border-top:none;padding-top:0}.sx-right{position:sticky;top:8rem;align-self:start;max-height:calc(100vh - 9rem);overflow-y:auto}.sx-wide{grid-template-columns:minmax(0, 1fr);gap:0}.sx-wide .sx-right{position:static;max-height:none}.sx-wide td code{white-space:nowrap}.sx-left>h2:first-child{margin-top:0}@media (max-width: 1024px){.sx-section{grid-template-columns:minmax(0, 1fr)}.sx-right{position:static;max-height:none}}.sx-endpoints{border:1px solid rgb(127 127 127 / 0.25);border-radius:0.75rem;padding:0.75rem 1rem 0.25rem}.sx-endpoints-title{font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;opacity:0.7;margin-bottom:0.5rem}div.sx-endpoints a{display:block;position:relative;font-family:inherit;font-size:inherit;padding:0.6rem 1.5rem 0.6rem 0;border-top:1px solid rgb(127 127 127 / 0.2);border-bottom:none!important;text-decoration:none}.sx-endpoints a::after{content:\"›\";position:absolute;right:0.25rem;top:50%;transform:translateY(-50%);font-size:1.25rem;opacity:0.5}.sx-endpoints a:hover::after{opacity:1}.sx-ep-name{display:block;font-weight:600;font-size:0.9rem}.sx-ep-path{display:block;font-family:ui-monospace, SFMono-Regular, Menlo, monospace;font-size:0.8rem;margin-top:0.15rem}.sx-ep-url{opacity:0.65}.sx-endpoints .sx-method{display:inline-block;min-width:3.75rem;margin-right:0;font-weight:700}.sx-endpoints .sx-get{color:#3b82f6}.sx-endpoints .sx-post{color:#16a34a}.sx-endpoints .sx-delete{color:#ef4444}.sx-nav-sub{list-style:none;margin:0.15rem 0 0.5rem;padding:0 0 0 1.75rem}.sx-nav-sub a{display:flex;align-items:baseline;gap:0.5rem;padding:0.3rem 0.5rem;border-radius:0.5rem;font-size:0.8125rem;line-height:1.3;opacity:0.7}.sx-nav-sub a:hover,.sx-nav-sub a.sx-current{opacity:1;background:rgb(127 127 127 / 0.1)}.sx-nav-sub a:focus{outline:none}.sx-nav-sub a:focus-visible{outline:2px solid rgb(127 127 127 / 0.5)}.sx-nav-method.sx-nav-spacer{visibility:hidden}.sx-nav-method{flex:none;min-width:2.4rem;padding:0.05rem 0.3rem;border-radius:0.3rem;font-family:ui-monospace, SFMono-Regular, Menlo, monospace;font-size:0.625rem;font-weight:700;text-align:center}.sx-nav-method.sx-get{color:#3b82f6;background:rgb(59 130 246 / 0.15)}.sx-nav-method.sx-post{color:#16a34a;background:rgb(22 163 74 / 0.15)}.sx-nav-method.sx-delete{color:#ef4444;background:rgb(239 68 68 / 0.15)}.sx-page-end{height:4rem}.sx-toggle{margin-top:0.75rem;border:1px solid rgb(127 127 127 / 0.3);border-radius:9999px;padding:0.3rem 0.9rem;font-size:0.85rem;font-weight:500;white-space:pre;cursor:pointer}.sx-toggle.sx-open{border-radius:0.75rem 0.75rem 0 0;border-bottom:none}.sx-children{border:1px solid rgb(127 127 127 / 0.3);border-radius:0 0.75rem 0.75rem 0.75rem;padding:0 1rem 0.5rem}.sx-children[hidden]{border:0;padding:0}"}],"page":{"pagePath":"api-reference/v2026-11-01/endpoint/classify_products","slug":"/api-reference/v2026-11-01/endpoint/classify_products","pageMetadata":{"title":"Classify Products","openapi":"POST /tax/products/classify","description":"Suggest a Numeral tax category for up to 20 products from their names and descriptions, using the AI provider keys stored for your account. Optionally create the classified products in one call. Available on API version 2026-01-01 and later.","href":"/api-reference/v2026-11-01/endpoint/classify_products"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Suggest a Numeral tax category for up to 20 products from their names and descriptions, using the AI provider keys stored for your account. Optionally create the classified products in one call. Available on API version 2026-01-01 and later.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note,Table,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`classify-products-endpoint-2026-11-01`,children:`Classify Products Endpoint (2026-11-01)`}),`\n`,_jsxs(_components.p,{children:[`Suggest a tax category for each product from its name and description, and optionally create the products in the same call. Every suggested category is a code from the `,_jsx(_components.a,{href:`/essentials/product-categories`,children:`product categories`}),` list, so the result can go straight into `,_jsx(_components.code,{children:`POST /tax/products`}),` or a calculation line item.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Product classification is in limited availability. Accounts that are not enabled receive a `,_jsx(_components.code,{children:`404 ENDPOINT_NOT_FOUND`}),` from this endpoint. Contact your Numeral representative to enable it.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Remember to include the `,_jsx(_components.code,{children:`X-API-Version: 2026-11-01`}),` header in your request to use this API version. This endpoint requires version `,_jsx(_components.code,{children:`2026-01-01`}),` or later.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`before-you-call-it`,children:`Before you call it`}),`\n`,_jsxs(_components.p,{children:[`Classification runs on your own AI provider keys, not Numeral’s. Store them in the dashboard under `,_jsx(_components.strong,{children:`Developers > Product Classification AI API Keys and Settings`}),` before calling this endpoint. Test keys (`,_jsx(_components.code,{children:`sk_test_...`}),`) use the keys saved for the test environment and production keys use the production ones. A single OpenAI key is enough; Gemini and Anthropic keys are also supported. See the `,_jsx(_components.a,{href:`/essentials/integration-guides/product-classification`,children:`product classification guide`}),` for details.`]}),`\n`,_jsx(Heading,{level:`3`,id:`how-to-read-a-result`,children:`How to read a result`}),`\n`,_jsxs(_components.p,{children:[`Each entry in `,_jsx(_components.code,{children:`product_categories`}),` has a `,_jsx(_components.code,{children:`status`}),`:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.code,{children:`status`})}),_jsx(_components.th,{children:_jsx(_components.code,{children:`product_category`})}),_jsx(_components.th,{children:_jsx(_components.code,{children:`confidence_score`})}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`classified`})}),_jsx(_components.td,{children:`A category code`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`0`}),` to `,_jsx(_components.code,{children:`1`})]}),_jsx(_components.td,{children:`A category was chosen. Review low scores before relying on them.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`fallback`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`GENERAL_MERCHANDISE`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`null`})}),_jsx(_components.td,{children:`No category could be chosen. Treat the suggestion as a placeholder.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`failed`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`null`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`null`})}),_jsx(_components.td,{children:`This product could not be processed. Retry it in a later batch.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`With `,_jsx(_components.code,{children:`create_products: true`}),`, `,_jsx(_components.code,{children:`product_creation_status`}),` reports what happened to each product record. Only `,_jsx(_components.code,{children:`classified`}),` products are created; `,_jsx(_components.code,{children:`fallback`}),` and `,_jsx(_components.code,{children:`failed`}),` products report `,_jsx(_components.code,{children:`not_classified`}),`. A product that already exists under the same `,_jsx(_components.code,{children:`reference_product_id`}),` is left unchanged and reports `,_jsx(_components.code,{children:`already_exists`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`limits`,children:`Limits`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Up to 20 products per request.`}),`\n`,_jsxs(_components.li,{children:[`One classification request in flight per account. A second concurrent request gets `,_jsx(_components.code,{children:`429`}),` with a `,_jsx(_components.code,{children:`Retry-After`}),` header.`]}),`\n`,_jsx(_components.li,{children:`A full batch can take tens of seconds, so allow at least 60 seconds for the response.`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`errors`,children:`Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`HTTP`}),_jsx(_components.th,{children:_jsx(_components.code,{children:`type`})}),_jsx(_components.th,{children:`When`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`PRODUCT_CLASSIFICATION_CREDENTIALS_MISSING`})}),_jsx(_components.td,{children:`No AI provider keys are stored for this environment.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`PRODUCT_CLASSIFICATION_CREDENTIALS_INVALID`})}),_jsx(_components.td,{children:`The stored keys were rejected by the provider. Re-enter them in the dashboard.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`404`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`ENDPOINT_NOT_FOUND`})}),_jsx(_components.td,{children:`Product classification is not enabled for this account.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`429`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`PRODUCT_CLASSIFICATION_CAPACITY_EXCEEDED`})}),_jsxs(_components.td,{children:[`Another request is in progress for this account, or the service is at capacity. Retry after `,_jsx(_components.code,{children:`Retry-After`}),` seconds.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`429`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`PRODUCT_CLASSIFICATION_PROVIDER_QUOTA`})}),_jsxs(_components.td,{children:[`Your AI provider rate limited the request. Retry after `,_jsx(_components.code,{children:`Retry-After`}),` seconds.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`503`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`PRODUCT_CLASSIFICATION_UNAVAILABLE`})}),_jsx(_components.td,{children:`The service is temporarily unavailable, or every product in the batch failed. Retry with backoff.`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Classify Products","openapi":"POST /tax/products/classify","description":"Suggest a Numeral tax category for up to 20 products from their names and descriptions, using the AI provider keys stored for your account. Optionally create the classified products in one call. Available on API version 2026-01-01 and later.","href":"/api-reference/v2026-11-01/endpoint/classify_products"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Classify Products Endpoint (2026-11-01)","slug":"classify-products-endpoint-2026-11-01","depth":2,"children":[{"title":"Before you call it","slug":"before-you-call-it","depth":3,"children":[]},{"title":"How to read a result","slug":"how-to-read-a-result","depth":3,"children":[]},{"title":"Limits","slug":"limits","depth":3,"children":[]},{"title":"Errors","slug":"errors","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/numeralhq/f4a41b99b7afe396/src/version-refresh.js","/_mintlify/custom/numeralhq/4721c15820461e09/src/resource-pages.js"],"openApiReferenceData":{"operation":{"summary":"Classify Products","description":"Suggest a Numeral tax category for up to 20 products from their names and descriptions, using the AI provider keys stored for your account. Optionally create the classified products in one call. Available on API version 2026-01-01 and later.","operationId":"classifyProducts_v20260101","requestBody":"c24c3ada-4a62-46e6-90d1-f684a5223ef2","responses":{"200":"86dc5a23-da73-470b-8d64-fb46f9c94355","400":"dc910adf-4458-4e25-a4af-a337adb04259","404":"dbb810ff-c673-44ad-9b29-46f421f054ea","429":"9130e7aa-3007-45d9-83b4-cf616f63a736","503":"70fd9c50-e60f-4267-bfa4-243b2ca25990"},"method":"post","type":"path","servers":["80135196-290d-4b1b-b3b6-8aec79dd7805"],"security":["e00515cf-e081-4183-8006-8a753d313f5b"],"path":"/tax/products/classify","baseUrlOptions":["https://api.numeralhq.com/"],"title":"Classify Products","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"products":{"type":"array","minItems":1,"maxItems":20,"description":"Products to classify. Between 1 and 20 per request.","items":{"type":"object","properties":{"reference_product_id":{"type":"string","description":"Your ID for the product. Returned unchanged on the matching result and used as the product ID when `create_products` is true. 1 to 255 characters.","example":"sku-shirt-001","isRequired":true,"uniqueKey":"products.items.[INDEX].reference_product_id","typeLabel":"string"},"reference_product_name":{"type":"string","description":"The product name. The main input to classification. 1 to 255 characters.","example":"Cotton crew neck t-shirt","isRequired":true,"uniqueKey":"products.items.[INDEX].reference_product_name","typeLabel":"string"},"reference_product_description":{"type":"string","description":"Optional product description. Improves classification for ambiguous names. Up to 255 characters.","example":"Unisex short-sleeve shirt, 100% cotton","uniqueKey":"products.items.[INDEX].reference_product_description","typeLabel":"string"}},"required":["reference_product_id","reference_product_name"],"uniqueKey":"products.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"products","typeLabel":"object[]"},"create_products":{"type":"boolean","default":false,"description":"When true, every product that classifies successfully is also created with the suggested category, as if sent to `POST /tax/products`. Products already registered under the same `reference_product_id` are left unchanged. `reference_product_id` must then be unique within the batch.","example":false,"uniqueKey":"create_products","typeLabel":"boolean"}},"required":["products"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"products":[{"reference_product_id":"sku-shirt-001","reference_product_name":"Cotton crew neck t-shirt","reference_product_description":"Unisex short-sleeve shirt, 100% cotton"}],"create_products":false}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"86dc5a23-da73-470b-8d64-fb46f9c94355":{"description":"One result per input product, in request order","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","description":"Always `list`.","example":"list","isRequired":true,"uniqueKey":"object","typeLabel":"string"},"create_products":{"type":"boolean","description":"Echo of the request's `create_products`.","example":false,"isRequired":true,"uniqueKey":"create_products","typeLabel":"boolean"},"product_categories":{"type":"array","description":"One result per input product, in the same order as the request.","items":{"type":"object","properties":{"reference_product_id":{"type":"string","description":"The `reference_product_id` from the matching input.","example":"sku-shirt-001","isRequired":true,"uniqueKey":"product_categories.items.[INDEX].reference_product_id","typeLabel":"string"},"status":{"type":"string","enum":["classified","fallback","failed"],"description":"`classified`: a category was chosen with a confidence score. `fallback`: no category could be chosen, so `GENERAL_MERCHANDISE` is suggested with no score. `failed`: this product could not be processed; retry it.","example":"classified","isRequired":true,"uniqueKey":"product_categories.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"product_category":{"oneOf":[{"type":"string","description":"The suggested category, always a code from the product categories list. `GENERAL_MERCHANDISE` when `status` is `fallback`, `null` when `failed`.","example":"CLOTHING_GENERAL","isRequired":true,"uniqueKey":"product_categories.items.[INDEX].product_category.oneOf.0","typeLabel":"string"},{"type":"null","description":"The suggested category, always a code from the product categories list. `GENERAL_MERCHANDISE` when `status` is `fallback`, `null` when `failed`.","example":"CLOTHING_GENERAL","isRequired":true,"uniqueKey":"product_categories.items.[INDEX].product_category.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"product_categories.items.[INDEX].product_category","typeLabel":"string | null"},"confidence_score":{"oneOf":[{"type":"number","minimum":0,"maximum":1,"description":"How confident the classifier is in `product_category`, from 0 to 1. `null` unless `status` is `classified`.","example":0.94,"isRequired":true,"uniqueKey":"product_categories.items.[INDEX].confidence_score.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1,"description":"How confident the classifier is in `product_category`, from 0 to 1. `null` unless `status` is `classified`.","example":0.94,"isRequired":true,"uniqueKey":"product_categories.items.[INDEX].confidence_score.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"product_categories.items.[INDEX].confidence_score","typeLabel":"number | null"},"product_creation_status":{"type":"string","enum":["not_requested","created","already_exists","not_classified","failed"],"description":"What happened to the product record. `not_requested` when `create_products` is false. Otherwise `created`, `already_exists` (a product with this ID was already registered and was not changed), `not_classified` (status was `fallback` or `failed`, so nothing was created), or `failed` (classified, but the product could not be saved).","example":"not_requested","isRequired":true,"uniqueKey":"product_categories.items.[INDEX].product_creation_status","typeLabel":"enum\u003cstring>"}},"required":["reference_product_id","status","product_category","confidence_score","product_creation_status"],"uniqueKey":"product_categories.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"product_categories","typeLabel":"object[]"},"testmode":{"type":"boolean","description":"`true` if called with a test API key.","example":true,"isRequired":true,"uniqueKey":"testmode","typeLabel":"boolean"}},"required":["object","create_products","product_categories","testmode"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"object":"list","create_products":false,"product_categories":[{"reference_product_id":"sku-shirt-001","status":"classified","product_category":"CLOTHING_GENERAL","confidence_score":0.94,"product_creation_status":"not_requested"}],"testmode":true}}},"exampleType":"generated"}},"exampleType":"generated"},"dc910adf-4458-4e25-a4af-a337adb04259":{"description":"Validation error, or no valid AI provider keys are stored for this environment (`PRODUCT_CLASSIFICATION_CREDENTIALS_MISSING`, `PRODUCT_CLASSIFICATION_CREDENTIALS_INVALID`)","content":{"application/json":{"schema":{"type":"object","description":"Standard error response format for API version 2026-01-01","properties":{"code":{"type":"integer","description":"HTTP status code","example":400,"isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"type":{"type":"string","description":"Machine-readable error type","example":"MISSING_FIELD","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","example":"Required field 'address_country' is missing","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["code","type","message"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":400,"type":"MISSING_FIELD","message":"Required field 'address_country' is missing"}}},"exampleType":"generated"}},"exampleType":"generated"},"dbb810ff-c673-44ad-9b29-46f421f054ea":{"description":"Product classification is not enabled for this account (`ENDPOINT_NOT_FOUND`)","content":{"application/json":{"schema":{"type":"object","description":"Standard error response format for API version 2026-01-01","properties":{"code":{"type":"integer","description":"HTTP status code","example":400,"isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"type":{"type":"string","description":"Machine-readable error type","example":"MISSING_FIELD","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","example":"Required field 'address_country' is missing","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["code","type","message"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":400,"type":"MISSING_FIELD","message":"Required field 'address_country' is missing"}}},"exampleType":"generated"}},"exampleType":"generated"},"9130e7aa-3007-45d9-83b4-cf616f63a736":{"description":"Another classification request is already in progress for this account, the service is at capacity, or your AI provider rate limited the request (`PRODUCT_CLASSIFICATION_CAPACITY_EXCEEDED`, `PRODUCT_CLASSIFICATION_PROVIDER_QUOTA`). Retry after the number of seconds in the `Retry-After` header.","content":{"application/json":{"schema":{"type":"object","description":"Standard error response format for API version 2026-01-01","properties":{"code":{"type":"integer","description":"HTTP status code","example":400,"isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"type":{"type":"string","description":"Machine-readable error type","example":"MISSING_FIELD","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","example":"Required field 'address_country' is missing","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["code","type","message"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":400,"type":"MISSING_FIELD","message":"Required field 'address_country' is missing"}}},"exampleType":"generated"}},"exampleType":"generated"},"70fd9c50-e60f-4267-bfa4-243b2ca25990":{"description":"Product classification is temporarily unavailable (`PRODUCT_CLASSIFICATION_UNAVAILABLE`). Retry with backoff.","content":{"application/json":{"schema":{"type":"object","description":"Standard error response format for API version 2026-01-01","properties":{"code":{"type":"integer","description":"HTTP status code","example":400,"isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"type":{"type":"string","description":"Machine-readable error type","example":"MISSING_FIELD","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","example":"Required field 'address_country' is missing","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["code","type","message"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":400,"type":"MISSING_FIELD","message":"Required field 'address_country' is missing"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"e00515cf-e081-4183-8006-8a753d313f5b":{"bearerAuth":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"80135196-290d-4b1b-b3b6-8aec79dd7805":{"url":"https://api.numeralhq.com/"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/v2026-01-01/openapi.json"},"subdomain":"numeralhq","siteName":"Numeral API","title":"Classify Products - Numeral API","navMaps":{"firstHrefInVersion":{"2026-11-01":{"href":"/api-reference/v2026-11-01/endpoint/classify_products","matchLevel":0},"2026-03-01":{"href":"/introduction","matchLevel":4},"2026-01-01":{"href":"/introduction","matchLevel":4},"2025-05-12":{"href":"/introduction","matchLevel":4},"2024-09-01":{"href":"/introduction","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-11-04T20:48:34.704Z","originalFileLocation":"api-reference/v2026-11-01/endpoint/classify_products.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Suggest a Numeral tax category for up to 20 products from their names and descriptions, using the AI provider keys stored for your account. Optionally create the classified products in one call. Available on API version 2026-01-01 and later.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Numeral API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/numeralhq/T60dQ7B6WxiReCVN/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/numeralhq/T60dQ7B6WxiReCVN/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/numeralhq/T60dQ7B6WxiReCVN/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/numeralhq/T60dQ7B6WxiReCVN/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/numeralhq/T60dQ7B6WxiReCVN/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/numeralhq/T60dQ7B6WxiReCVN/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/numeralhq/T60dQ7B6WxiReCVN/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/numeralhq/T60dQ7B6WxiReCVN/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/numeralhq/T60dQ7B6WxiReCVN/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Classify Products - Numeral API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Suggest a Numeral tax category for up to 20 products from their names and descriptions, using the AI provider keys stored for your account. Optionally create the classified products in one call. Available on API version 2026-01-01 and later.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Numeral API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.numeral.com/api-reference/v2026-11-01/endpoint/classify_products\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://numeralhq.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Classify+Products\u0026amp;description=Suggest+a+Numeral+tax+category+for+up+to+20+products+from+their+names+and+descriptions%2C+using+the+AI+provider+keys+stored+for+your+account.+Optionally+create+th\u0026amp;theme=db0aa42568482bdcbfb10a73\u0026amp;signature=5186596eb406991aa8e434bc6b25678d120543fba2eb63f11e34ce439028dd01\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Classify Products - Numeral API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Suggest a Numeral tax category for up to 20 products from their names and descriptions, using the AI provider keys stored for your account. Optionally create the classified products in one call. Available on API version 2026-01-01 and later.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://numeralhq.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Classify+Products\u0026amp;description=Suggest+a+Numeral+tax+category+for+up+to+20+products+from+their+names+and+descriptions%2C+using+the+AI+provider+keys+stored+for+your+account.+Optionally+create+th\u0026amp;theme=db0aa42568482bdcbfb10a73\u0026amp;signature=5186596eb406991aa8e434bc6b25678d120543fba2eb63f11e34ce439028dd01\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/numeralhq/T60dQ7B6WxiReCVN/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Numeral API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0D9373\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.numeral.com/api-reference/v2026-11-01/endpoint/classify_products\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/v2026-11-01/endpoint/classify_products.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Numeral API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Numeral API","nav":{"global":null,"versions":[{"version":"2026-11-01","tabs":[{"tab":"API Documentation","groups":[{"group":"Getting Started","pages":[{"title":"Introduction","icon":"hand-wave","href":"/introduction"},{"title":"Quickstart","icon":"rabbit","href":"/essentials/quickstart/quickstart"},{"title":"Changelog","icon":"wind","href":"/api-reference/v2026-11-01/changelog"},{"title":"API Keys","icon":"key","href":"/essentials/api-keys"},{"title":"API Versioning","icon":"code-branch","href":"/api-reference/versioning"},{"title":"Currencies","icon":"money-bill","href":"/essentials/currencies"},{"title":"Product Categories","icon":"tag","href":"/essentials/product-categories"},{"title":"Tax IDs","icon":"id-card","href":"/essentials/tax-ids"},{"title":"FAQs","icon":"question","href":"/essentials/faqs"},{"title":"AI help","icon":"robot","href":"/ai-help/overview"}]},{"group":"API Reference","pages":[{"title":"Introduction v2026-11-01","href":"/api-reference/v2026-11-01/introduction"},{"title":"Error Codes","icon":"triangle-exclamation","href":"/api-reference/v2026-11-01/error-codes"},{"title":"Calculations","icon":"calculator","mode":"wide","href":"/v2026-11-01/objects/calculations"},{"title":"Transactions","icon":"cash-register","mode":"wide","href":"/v2026-11-01/objects/transactions"},{"title":"Platform","icon":"store","mode":"wide","href":"/v2026-11-01/objects/platform"},{"title":"Merchants","icon":"store","mode":"wide","href":"/v2026-11-01/objects/merchants"},{"title":"Products","icon":"boxes-stacked","mode":"wide","href":"/v2026-11-01/objects/products"},{"title":"Customers","icon":"person","mode":"wide","href":"/v2026-11-01/objects/customers"},{"title":"Exemption (Resale) Certificates","icon":"file-certificate","mode":"wide","href":"/v2026-11-01/objects/exemption-certificates"},{"title":"Exchange Rates","icon":"money-bill-transfer","mode":"wide","href":"/v2026-11-01/objects/exchange-rates"},{"title":"Health Check","openapi":"api-reference/v2026-11-01/openapi.json GET /tax/ping","href":"/api-reference/v2026-11-01/endpoint/ping"}]}]},{"tab":"Integrations","groups":[{"group":"Integration Guides","pages":[{"title":"Reference Objects","icon":"link","href":"/essentials/integration-guides/reference-objects-faq"},{"title":"Managing Product Categories","icon":"bucket","href":"/essentials/integration-guides/products-and-categories"},{"title":"Classifying Products with AI","icon":"wand-magic-sparkles","href":"/essentials/integration-guides/product-classification"},{"title":"Exemptions Behavior","icon":"circle-xmark","href":"/essentials/integration-guides/exemptions-behavior"},{"title":"Submit Certificates via API","icon":"file-arrow-up","href":"/essentials/integration-guides/submit-certificates-via-api"},{"title":"Best Practices for a Successful Launch","icon":"circle-check","href":"/essentials/integration-guides/best-practices"}]},{"group":"Platform Integrations","pages":[{"title":"Integrations Overview","href":"/integrations/overview"},{"title":"Marketplaces","href":"/integrations/marketplaces"},{"title":"HR Systems","href":"/integrations/hr-systems"},{"title":"Acumatica","href":"/integrations/acumatica"},{"title":"Adobe Commerce","href":"/integrations/adobe-commerce"},{"title":"BigCommerce","href":"/integrations/bigcommerce"},{"title":"Microsoft Business Central","href":"/integrations/business-central"},{"title":"Campfire","href":"/integrations/campfire"},{"title":"Chargebee","href":"/integrations/chargebee"},{"title":"CheckoutChamp","href":"/integrations/checkoutchamp"},{"title":"Fulfil","href":"/integrations/fulfil"},{"title":"HubSpot","href":"/integrations/hubspot"},{"title":"Infor M3","href":"/integrations/infor-m3"},{"title":"JustPaid","href":"/integrations/justpaid"},{"title":"Maxio","href":"/integrations/maxio"},{"title":"Measure","href":"/integrations/measure"},{"title":"NetSuite","href":"/integrations/netsuite"},{"title":"Odoo","href":"/integrations/odoo"},{"title":"Orb","href":"/integrations/orb"},{"title":"QuickBooks Online","href":"/integrations/quickbooks-online"},{"title":"Rillet","href":"/integrations/rillet"},{"title":"SaaSGrid","href":"/integrations/saasgrid"},{"title":"Sage Intacct","href":"/integrations/sage-intacct"},{"title":"Salesforce Commerce Cloud","href":"/integrations/salesforce-commerce-cloud"},{"title":"Salesforce Sales Cloud","href":"/integrations/salesforce-sales-cloud"},{"title":"SAP S/4HANA","href":"/integrations/sap-s4hana"},{"title":"Sequence","href":"/integrations/sequence"},{"group":"Shopify","pages":[{"title":"Shopify Partner Access","href":"/integrations/shopify/shopify-partner-access"},{"title":"Shopify Tax Services and Troubleshooting","href":"/integrations/shopify/shopify-tax-services"},{"title":"Shopify Apps","href":"/integrations/shopify/shopify-apps"},{"title":"Configuring Shopify Sales Channels","href":"/integrations/shopify/shopify-sales-channels"},{"title":"Shopify Settings for Schedule C Reporting in California","href":"/integrations/shopify/shopify-schedule-c-california"}]},{"title":"SKU.io","href":"/integrations/skuio"},{"title":"Solidus","href":"/integrations/solidus"},{"group":"Stripe","pages":[{"group":"Numeral for Stripe Checkout","pages":[{"title":"Numeral for Stripe Checkout","href":"/integrations/stripe/stripe-checkout"},{"title":"Customer location and address validation","href":"/integrations/stripe/stripe-checkout-location"},{"title":"Embed address collection","href":"/integrations/stripe/stripe-checkout-embedded"},{"title":"Branding and appearance","href":"/integrations/stripe/stripe-checkout-branding"},{"title":"Discounts and promotion codes","href":"/integrations/stripe/stripe-checkout-discounts"},{"title":"Metadata and saved cards","href":"/integrations/stripe/stripe-checkout-metadata"}]},{"title":"Using Numeral's Tax Engine on Stripe Invoices","href":"/integrations/stripe/stripe-invoices"},{"title":"How Stripe Tax Works with Numeral","href":"/integrations/stripe/stripe-tax"}]},{"title":"Subscript","href":"/integrations/subscript"},{"title":"Tabs","href":"/integrations/tabs"},{"title":"WooCommerce","href":"/integrations/woocommerce"},{"title":"Xero","href":"/integrations/xero"},{"title":"Zoho Billing","href":"/integrations/zoho-billing"},{"title":"Zoho Books","href":"/integrations/zoho-books"}]}]},{"tab":"MCP","groups":[{"group":"Get Started","pages":[{"title":"MCP Overview","icon":"plug","href":"/mcp/overview"},{"title":"MCP Quickstart","icon":"rocket","href":"/mcp/quickstart"}]},{"group":"Reference","pages":[{"title":"MCP Tool Reference","icon":"wrench","href":"/mcp/tools"},{"title":"MCP Authentication \u0026 Limits","icon":"shield","href":"/mcp/authentication"}]},{"group":"Build with MCP","pages":[{"title":"MCP Demo Application","icon":"github","href":"/mcp/demo-app"}]}]}]},{"version":"2026-03-01","pages":[{"title":"2026-03-01","href":"/introduction"}]},{"version":"2026-01-01","pages":[{"title":"2026-01-01","href":"/introduction"}]},{"version":"2025-05-12","pages":[{"title":"2025-05-12","href":"/introduction"}]},{"version":"2024-09-01","pages":[{"title":"2024-09-01","href":"/introduction"}]}]},"basePath":"","title":"Classify Products - Numeral API","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","Page-BAvA99GL.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}