Validate Goods & Services
Classification
Validate Goods & Services
Check whether wording appears in the pre-approved catalogs available for requested offices
POST
Validate Goods & Services
listed means the wording appears in that office’s pre-approved catalog, exactly or after punctuation normalization (match.type says which). not_listed means we cannot show it there: it is an absence of evidence, not a refusal. These catalogs record positive membership only, so this endpoint cannot predict whether an office will allow wording that is absent.
Catalog answers are available only for US, EM, JP, KR, and CN. Every other recognized office returns unsupported_office with reason no_catalog_data; the endpoint does not imply broader coverage.
Request
Send 1–100 items and 1–10 office codes. Only English (en) is available. Duplicate office aliases collapse and response office codes use ST.3.
string[]
required
Offices to report on. Catalog answers exist only for
US, EM, JP, KR, and CN.string
default:"en"
Catalog language. Only
en is available in v1.object[]
required
Wording to check, in response order. Each item requires
term and may include class_number from
1–45.class_number fixes the class used for candidate wording when the submitted term is not listed. Without one, the endpoint may match or infer a class and search that class; candidates are empty only when no class can be resolved or candidate search is not applicable. If the wording exists in another class, the item returns class_mismatch and class_matches names the class where the catalog wording actually lives. If no class is supplied and several classes match, the status is ambiguous_class and class_matches carries those rows.
Idempotency-Key is optional. When supplied, it is honoured for replay; it is never required. Billing is per item. fee_impact is reserved and always null in v1.
Candidate relations
Candidates are advisory catalog wording from the supplied or resolved class:contained_in_inputmeans the wording appears as a contiguous run of words in what the customer wrote.similarmeans a lexical neighbour. It also includes rows demoted by the word-boundary check: a trigram match can be close without being a phrase the customer typed.templatemeans the fixed wording of a USPTO drafting template appears in order. The placeholder and possible fill are intemplate.slots.
span and template; they are null when not applicable. Candidate wording is advisory, not a guarantee of acceptance.
Coverage of your wording
coverage describes how many whitespace-separated tokens are supported by an exact/normalized match or by returned whole-word candidates. uncovered preserves the remaining wording as maximal runs. Coverage is descriptive evidence, not an acceptance verdict; connector words between supported spans can count structurally, while similar and template candidates never count as verified coverage.
Template candidates
Atemplate candidate is a drafting aid from the USPTO ID Manual. Fill its placeholders using template.slots; filled_with is null when the submitted wording cannot fill a slot unambiguously. Templates are never listed matches, even when their fixed wording appears in the input.
Inferred classes
When an unclassified miss can be mapped to one Nice class,class_source is inferred and class_inference reports the method and confidence. This is a suggestion, not a classification decision. Supply class_number on a later request to override it.
Warnings (indefinite wording)
warnings identifies wording covered by guidance for a requested office and cites the guideline in source. objection means the cited guidance calls the construction indefinite or unclear; caution means acceptability depends on context. A warning is guidance, not a prediction that an examiner will refuse the wording.
Catalog freshness (as_of)
Each summary.offices[].catalog_freshness[] entry pairs a catalogs id with as_of, the UTC date that source was last refreshed. It tells you how fresh the evidence is—and how stale an absence may be. null means freshness is unknown; it never means the catalog is current.
Candidate search completeness
Inspectcandidate_search before interpreting candidates. complete means the search ran, so an empty array is a real absence of nearby wording in the held catalog. not_run means candidates were not applicable. truncated means the time budget expired before this item’s chunk was issued, and degraded means a database error prevented a reliable search; neither means that no candidate exists. candidate_search_reason explains every non-complete result. Summary counts roll up complete, truncated, and degraded items.