Docs /Getting Started//v1/classifier

/v1/classifier

Score a batch of typed questions against one shared context in a single non-streaming call.

/v1/classifier

Send one shared context (either messages or state) plus a batch of typed questions, and receive one answer per question ID. It is built for classification and extraction: labeling, support scoring, moderation, and guardrails.

The endpoint is also available as POST /v1/systemone and POST /models/:owner/:model/v1/classifier, where the model is taken from the URL path.

HTTP request

POST https://api.featherless.ai/v1/classifier

Authenticate with Authorization: Bearer <FEATHERLESS_API_KEY> and send a JSON body. The maximum request body is 50 MiB.

Supported models

The classifier runs on a fixed roster of models that an operator has enabled for this endpoint. Browsing the catalog with the classifier filter applied shows exactly the models you can use:

https://featherless.ai/models?modalities=classifier

Request body

Provide exactly one of messages or state, plus a nonempty questions object. Each key in questions becomes a key in the answers you get back.

{
  "model": "featherless-ai/Qwen3.6-35B-A3B-classifier",
  "messages": [
    { "role": "user", "content": "Review: \"The red bicycle arrived early and my dog Pip loves it.\"" }
  ],
  "questions": {
    "sentiment": {
      "type": "choice",
      "instructions": "Overall sentiment of the review.",
      "criteria": {
        "positive": "Clearly favorable",
        "negative": "Clearly unfavorable"
      }
    },
    "quality": {
      "type": "score",
      "instructions": "Rate the writing quality.",
      "criteria": ["Very poor", "Poor", "Fair", "Good", "Excellent"]
    },
    "mentions_dog": {
      "type": "noul",
      "instructions": "Does the review mention a dog?",
      "criteria": { "true": "Mentions a dog", "false": "No dog mentioned" }
    }
  }
}

Question types

  • choice: criteria is an object with 2 to 50 named options; the answer returns the chosen key plus a probability per option.

  • score: criteria is an ordered array of 2 to 50 level descriptions, lowest to highest; the answer returns a numeric score, per-level probabilities, and a legend.

  • noul: criteria may describe the true and false options; the answer returns a single scalar in the range 0.01 to 0.99.

Question objects are strict: unknown keys are rejected rather than ignored. The optional options object accepts score_format, raw_logits, choice_mode, and score_mode. Completion parameters such as temperature or max_tokens are accepted for client compatibility and ignored; the classifier is always non-streaming.

Response body

The response contains one answer per question ID. The model field is always the canonical platform model name, not the string echoed from the request.

{
  "model": "featherless-ai/Qwen3.6-35B-A3B-classifier",
  "answers": {
    "sentiment": {
      "type": "choice",
      "choice": "positive",
      "confidence": 0.94,
      "probabilities": { "positive": 0.94, "negative": 0.06 }
    },
    "quality": {
      "type": "score",
      "score": 4,
      "confidence": 0.81,
      "probabilities": { "0": 0.01, "1": 0.02, "2": 0.05, "3": 0.11, "4": 0.81 },
      "legend": { "0": "Very poor", "1": "Poor", "2": "Fair", "3": "Good", "4": "Excellent" }
    },
    "mentions_dog": { "type": "noul", "noul": 0.97 }
  },
  "usage": { "input_tokens": 407, "output_tokens": 3 }
}

Errors

Validation failures return 422 with the standard error envelope, including a details array of the failing fields. Requesting a model that is not enabled for the classifier returns 404.

Example

Classify a review
curl --fail-with-body https://api.featherless.ai/v1/classifier \
  --header "Authorization: Bearer $FEATHERLESS_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "featherless-ai/Qwen3.6-35B-A3B-classifier",
    "messages": [{ "role": "user", "content": "Review: The red bicycle arrived early and my dog Pip loves it." }],
    "questions": {
      "sentiment": {
        "type": "choice",
        "instructions": "Overall sentiment of the review.",
        "criteria": { "positive": "Clearly favorable", "negative": "Clearly unfavorable" }
      }
    }
  }'
Last edited: Sep 18, 2026