# Smarter Sorting (SmarterX) > Smarter Sorting is an Austin, Texas product-intelligence and regulatory-classification company > serving retailers, consumer-goods brands and logistics. Its Smarter-1 platform takes a product > catalog — at minimum a UPC and a product name — and returns regulatory classifications covering > hazardous-waste handling, dangerous-goods transport, fire-hazard ratings and lithium-battery > attributes, so a retailer can decide whether an item may be sold, shipped, donated, recycled, > reclaimed, or must be disposed of as regulated waste. The company rebranded as SmarterX in 2023 > and operates as part of Syndigo; smarterx.com redirects to smartersorting.com and > api.smarterx.com serves the same API. Generated by API Evangelist on 2026-08-28 from the provider's published surface. Not published by Smarter Sorting: the provider serves no llms.txt of its own (probed https://api.smartersorting.com/llms.txt and /docs/llms.txt, both HTTP 404). ## API - [Customer Classification API — OpenAPI 3.1.0](https://api.smartersorting.com/classification/v1/docs): The live, anonymous, machine-readable contract. No API key required to fetch it. Base URL https://api.smartersorting.com. Nine operations, six of them the product surface. - [Developer portal](https://api.smartersorting.com/docs): Guide, getting-started and API reference. - [API reference](https://api.smartersorting.com/docs/api): Rendered operation reference. - [Developer guide (markdown)](https://api.smartersorting.com/docs/index.md): The full guide as markdown — upload, poll, retrieve, with the attribute vocabulary. - [Getting started (markdown)](https://api.smartersorting.com/docs/getting-started.md): Decisions, Jobs, Batches and the credit formula. ## Operations - `GET /classification/v1/products/{upc}` — getProductByFieldMatch — look up one product and its classifications by UPC. - `GET /classification/v1/products` — getListOfProducts — token-paginated list, filterable by `statuses`, `start_date`, `end_date`; `page_size` 1-100, default 50. - `GET /classification/v1/products/count` — getCountOfProducts — count matching products. - `PUT /classification/v1/products/{upc}` — putProductAttributesByIdentifier — create/replace a product's submitted attributes. - `PATCH /classification/v1/products/{upc}` — patchProductAttributesByIdentifier — partial update. - `POST /classification/v1/products/bulk` — bulkUploadProducts — text/csv batch upload, returns 202 with a `batchId`. - `GET /classification/v1/docs` — customerClassificationAPIDocs — the OpenAPI document itself. ## Authentication Bearer token. Sign in to the developer portal with Auth0 credentials and a key is generated for you; send it as `Authorization: Bearer `. No OAuth flow is exposed to API callers, and no key prefix distinguishes staging from production — only the host does. ## How it works Classification is asynchronous. Submit products (individually by UPC, or as a CSV batch), then poll the `status` field until it reads `CLASSIFICATION_COMPLETE`. Statuses are `PENDING`, `IN_REVIEW`, `CLASSIFICATION_COMPLETE`. There is no webhook and no callback — polling is the only completion signal. Poll incrementally by setting `start_date` to your last check. The provider recommends waiting at least 30 seconds per product; the maximum products per job is 5. Consumption is metered in credits: `credits_used = decision_count * product_count`. ## What comes back Products carry two parallel name/value arrays, `attributes` (submitted or enriched) and `classifications` (model-determined), covering: DOT 49 CFR, IATA DGR and IMDG Code dangerous-goods descriptors (hazard class, packing group, UN number, proper shipping name, limited quantity); RCRA and state hazardous-waste codes; NFPA 704 health/flammability/reactivity/special ratings; lithium-battery and UN 38.3 attributes; flash point, pH range, SDS link and IFC codes. ## Environments - Production: `https://api.smartersorting.com` (alias `https://api.smarterx.com`) - Staging: `https://api.staging.smarterx.com` — publicly documented, same contract. ## Errors RFC 9457 problem documents, `application/problem+json`. Bodies carry `type`, `title`, `status`, `detail`, `instance` plus a `trace` object (`timestamp`, `requestId`, `buildId`, `rayId`). Quote `requestId` to support. ## Company and policy - [Website](https://www.smartersorting.com/) - [Platform overview](https://www.smartersorting.com/solutions-platform) - [Security & AI governance](https://www.smartersorting.com/security-ai-governance): SOC 2 Type II attested; CCPA compliant; security contact security@smartersorting.com. - [Status page](https://status.smartersorting.com/): Atlassian Statuspage, machine-readable at /api/v2/summary.json. - [Support](https://support.smartersorting.com/s/) - [Blog](https://www.smartersorting.com/blog) - [Terms of use](https://www.smartersorting.com/legal/terms-of-use) - [Privacy policy](https://www.smartersorting.com/legal/privacy-policy) ## Not published Verified absent as of 2026-08-28, so an agent does not go looking: no SDKs or client libraries in any registry; no GitHub organization; no MCP server; no GraphQL; no A2A agent card; no `/.well-known/` documents on any host; no webhooks or AsyncAPI; no rate limits, no `429`, no `Retry-After` and no rate-limit response headers; no changelog; no deprecation or versioning policy; no published prices; no CLI; no Postman collection; and no reversal operation — the API has no DELETE, cancel or undo on any path.