> ## Documentation Index
> Fetch the complete documentation index at: https://docs.signa.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Suggest Classifications

> Suggest Nice classes for a description of goods, services, or a business (classes only, no wording)

## Overview

Turn a description of goods, services, or a business into ranked Nice classification classes with confidence and rationale. Ideal when you just need to know *which* classes apply: filter UIs, watch setup, clearance pre-screening, or portfolio analysis. Works for company descriptions ("SaaS tool for HR teams"), product listings ("men's athletic running shoes, cushioned sole"), service offerings ("on-site SEO audits"), and anything in between.

Ambiguous inputs like "coffee company" come back with an `ambiguous` flag, a clarifying question, and classes for every plausible interpretation, so you can surface the question to your user and re-submit.

<Info>
  Need paste-ready goods/services wording per class for a filing? Use [Suggest Goods & Services](/api-reference/reference/suggest-goods-services) instead: same input, but returns each class with grounded `accepted_terms` from the pre-approved catalog.
</Info>

For background on Nice classes and office acceptance, see the [Classifications and Goods/Services guide](/guides/classifications).

## Body Parameters

<ParamField body="description" type="string" required>
  Description of the goods, services, or business (3-500 characters). Natural-language, no special format.
</ParamField>

<Info>
  Nice Classification is a WIPO international standard: the 45 classes are the same in every member jurisdiction, so this endpoint deliberately takes no jurisdiction hint. If you need jurisdiction-biased goods/services *wording*, use [Suggest Goods & Services](/api-reference/reference/suggest-goods-services), which accepts an optional `jurisdiction_code` that influences term selection (not the class list).
</Info>

## Response

<ResponseField name="object" type="string">Always `classification_suggestion`.</ResponseField>
<ResponseField name="query" type="string">The description you submitted, echoed back.</ResponseField>
<ResponseField name="classifier_version" type="string">Version tag of the classifier that produced this response.</ResponseField>
<ResponseField name="classes" type="object[]">Ranked suggested classes. Each class contains the fields below.</ResponseField>
<ResponseField name="classes[].class_number" type="integer">Nice class number (1-45).</ResponseField>
<ResponseField name="classes[].title" type="string">Canonical class title.</ResponseField>
<ResponseField name="classes[].confidence" type="string">One of `high`, `medium`, or `low`.</ResponseField>
<ResponseField name="classes[].rank" type="integer">1-indexed position in the returned ordering.</ResponseField>
<ResponseField name="classes[].recommendation_type" type="string">One of `core`, `conditional`, or `adjacent`.</ResponseField>
<ResponseField name="classes[].conditional_on" type="string | null">When `recommendation_type` is `conditional`, the condition under which this class applies. Otherwise `null`.</ResponseField>
<ResponseField name="classes[].rationale" type="string">Short explanation of why this class was suggested.</ResponseField>
<ResponseField name="ambiguous" type="boolean">`true` when the description has two or more materially different filing strategies.</ResponseField>
<ResponseField name="clarification_question" type="string | null">When `ambiguous` is `true`, a question to ask the user. Otherwise `null`.</ResponseField>
<ResponseField name="request_id" type="string">Unique request identifier for support and debugging.</ResponseField>

<ResponseExample>
  ```json theme={null}
  {
    "object": "classification_suggestion",
    "query": "e-commerce company selling sneakers",
    "classifier_version": "classify-v1.0",
    "classes": [
      {
        "class_number": 25,
        "title": "Clothing, footwear, headwear",
        "confidence": "high",
        "rank": 1,
        "recommendation_type": "core",
        "conditional_on": null,
        "rationale": "Sneakers are athletic footwear, squarely in class 25."
      },
      {
        "class_number": 35,
        "title": "Advertising",
        "confidence": "medium",
        "rank": 2,
        "recommendation_type": "conditional",
        "conditional_on": "brand used for the storefront, not only the products",
        "rationale": "Operating an online store is retail services."
      }
    ],
    "ambiguous": false,
    "clarification_question": null,
    "request_id": "req_cU3lM7nP"
  }
  ```
</ResponseExample>

## Billing

Billed as **1 unit** (`search` endpoint type).

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST "https://api.signa.so/v1/classifications/suggest" \
    -H "Authorization: Bearer sig_YOUR_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "description": "e-commerce company selling sneakers"
    }'
  ```

  ```typescript TypeScript theme={null}
  import { Signa } from "@signa-so/sdk";

  const signa = new Signa({ api_key: process.env.SIGNA_API_KEY });

  const result = await signa.references.suggestClassifications({
    description: "e-commerce company selling sneakers",
  });
  // result.classes is a ranked list of { class_number, confidence, rationale, ... }
  ```
</CodeGroup>

## Errors

| Status | Type               | Description                                                     |
| ------ | ------------------ | --------------------------------------------------------------- |
| 400    | `validation_error` | `description` missing, shorter than 3, or longer than 500 chars |
| 401    | `unauthorized`     | Missing or invalid API key                                      |
| 403    | `forbidden`        | API key lacks `trademarks:read` scope                           |
| 502    | `upstream_error`   | Classification service temporarily unavailable                  |

## Related Endpoints

* [Suggest Goods & Services](/api-reference/reference/suggest-goods-services), same input, returns classes with filing-ready wording
* [List Goods & Services](/api-reference/reference/list-goods-services), browse and search the pre-approved terms catalog
* [List Classifications](/api-reference/reference/list-classifications)
* [Get Classification](/api-reference/reference/get-classification)
