Smarter Sorting · OpenAPI Overlay 1.0.0
API Evangelist enhancements for the Smarter Sorting Customer Classification API
9 actions
9 updates
documentation
extends
../openapi/smarter-sorting-customer-classification-v1-openapi.yml
Derived by API Evangelist
Built from the contracts Smarter Sorting publishes. Smarter Sorting did not publish this file.
What the actions change
x-api-evangelist-notecontacttermsOfServicex-providerx-developer-portalx-status-pagedescriptionx-api-evangelist-observed-extensions
Targets 9
$.info
$.servers
$.tags
$.paths['/classification/v1/products/:upc']
$.paths['/classification/v1/docs'].get
$.components.securitySchemes.api_key
$.components.schemas.ProblemDetails
$.components.schemas.ProductAttributeOrClassification
$.paths['/classification/v1/products/bulk'].post
OpenAPI Overlay
overlay: 1.0.0
info:
title: API Evangelist enhancements for the Smarter Sorting Customer Classification API
version: 1.0.0
extends: ../openapi/smarter-sorting-customer-classification-v1-openapi.yml
x-generated: '2026-08-28'
x-method: generated
x-source: >-
Generated from the verbatim provider spec fetched at
https://api.smartersorting.com/classification/v1/docs (HTTP 200, OpenAPI 3.1.0). This overlay
records API Evangelist observations ONLY; the original spec is never mutated. Every action below
adds documentation or a value confirmed live — none invents behaviour.
actions:
- target: $.info
description: Add contact, license-free terms pointer and provider identity absent from the spec.
update:
contact:
name: Smarter Sorting Support
url: https://support.smartersorting.com/s/
termsOfService: https://www.smartersorting.com/legal/terms-of-use
x-provider: Smarter Sorting (SmarterX)
x-developer-portal: https://api.smartersorting.com/docs
x-status-page: https://status.smartersorting.com/
- target: $.servers
description: >-
Record the staging environment the developer guide documents and calls in its own curl example.
The published spec declares only the production server.
update:
- url: https://api.smartersorting.com
description: Production
- url: https://api.smarterx.com
description: >-
Production, SmarterX-branded alias. Confirmed live — serves the identical OpenAPI document
(HTTP 200) and the identical portal.
- url: https://api.staging.smarterx.com
description: >-
Staging. Documented in the developer guide; confirmed live (HTTP 200 on
/classification/v1/docs).
- target: $.tags
description: The spec declares no top-level tags[] although its operations are tagged.
update:
- name: products
description: Submit product catalog entries and retrieve their regulatory classifications.
- name: docs
description: Self-describing contract endpoint.
- target: $.paths['/classification/v1/products/:upc']
description: >-
OBSERVATION, not a rewrite. The path templating uses Express-style `:upc` rather than the
OpenAPI `{upc}` form. The parameter IS correctly declared as {name: upc, in: path, required:
true}, so tooling that validates path-template/parameter agreement will flag a mismatch and
some generators will emit a literal ":upc" segment. The live route accepts
/classification/v1/products/<upc>.
update:
x-api-evangelist-note: >-
Non-standard path templating — `:upc` should be `{upc}` per OpenAPI 3.1. Affects
getProductByFieldMatch, putProductAttributesByIdentifier and
patchProductAttributesByIdentifier.
- target: $.paths['/classification/v1/docs'].get
description: >-
Flag that this operation is the API's own self-describing contract endpoint — the reason this
provider has a machine-readable contract at all, since no /openapi.json is served at the host
root. Worth surfacing: it is anonymous and needs no key.
update:
x-api-evangelist-note: >-
Anonymous, unauthenticated OpenAPI self-description. This is the canonical discovery URL for
this API: https://api.smartersorting.com/classification/v1/docs
- target: $.components.securitySchemes.api_key
description: Document how the bearer token is obtained; the spec states only the mechanism.
update:
description: >-
HTTP bearer token. The key is generated for you when you sign in to the developer portal
(https://api.smartersorting.com/docs) or the staging portal
(https://api.staging.smarterx.com/docs) using Auth0 credentials. Send it as
`Authorization: Bearer <API key>`. No key prefix distinguishes staging from production keys.
- target: $.components.schemas.ProblemDetails
description: >-
Record the two extension members the LIVE API returns beyond the RFC 9457 member set, observed
on unauthenticated 401 and 404 responses.
update:
x-api-evangelist-observed-extensions:
trace:
timestamp: ISO 8601 timestamp of the error.
requestId: Per-request UUID — the handle to quote to support.
buildId: UUID of the deployed API build.
rayId: Edge/CDN ray identifier.
- target: $.components.schemas.ProductAttributeOrClassification
description: >-
Record that the ~69 regulatory attribute names are documented only through
components.examples.productExample and are not enumerable from the schema.
update:
x-api-evangelist-note: >-
`value` is an untyped bag. The regulatory attribute vocabulary (dot_*, iata_*, imdg_*, nfpa_*,
waste_rcra_codes, waste_state_codes, lithium/battery fields, flash_point, ph_min/ph_max,
sds_link, ifc_codes) appears only in components.examples.productExample. Enumerated and mapped
to its source standard in data-model/smarter-sorting-data-model.yml and
conformance/smarter-sorting-conformance.yml.
- target: $.paths['/classification/v1/products/bulk'].post
description: >-
Record that the returned batchId is accepted by no published operation, and that there is no
reversal path for an uploaded batch.
update:
x-api-evangelist-note: >-
Returns BatchCreationResult {batchId}, but no operation in the published contract accepts a
batchId — the batch can neither be polled nor cancelled by that identifier. There is no
DELETE, cancel or undo on any path. See conventions/smarter-sorting-conventions.yml
(reversibility).
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/smarter-sorting-customer-classification-v1-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.