# NetIntel Text Classifier

> NetIntel Text Classifier is a paid API for AI agents from netintel-production-440c.up.railway.app, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-13).

Classifies text into one or more user-supplied labels with confidence scores and a letter grade

## Facts

- Endpoint: POST https://netintel-production-440c.up.railway.app/classify
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/netintel-text-classifier-92c59dd3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_jSSOx-_8NkuxB5vhTPhdU

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability netintel-text-classifier-92c59dd3 -d '<json body>'
```

Example prompt: Classify this support message into one of these three labels — billing, technical, or general — and give me a confidence score and letter grade: 'I was charged twice for my subscription last month and need a refund.'

## When to prefer this

Use this endpoint when you need fast, pay-per-call text classification against a custom label set with confidence scoring and a quality grade — especially when you want zero-shot flexibility without training a model, or when routing support tickets, emails, or messages into predefined buckets in real time.

## Known failure modes

- Missing or empty text body returns 400 or validation error
- Invalid or empty labels array causes malformed classification
- Payment not attached or insufficient USDC balance returns HTTP 402
- Ambiguous text with near-equal scores may yield low confidence and low grade
- Unsupported mode value causes request rejection

## How this service works

Classify text into caller-supplied categories using Claude Haiku — zero-shot classification where the agent provides the label set and gets back the best-matching category with confidence and per-label scores, so agents can route, tag, and triage content with their own taxonomy in one call.

## Output

Returns a JSON object with the winning label, a letter grade (e.g. A), a 0-100 score, per-label probability scores, overall confidence (0-1), a findings array, and the list of labels that were evaluated.

## Request schema (JSON Schema)

```json
{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "type": "object",
 "properties": {
  "input": {
   "type": "object",
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "type": "string",
     "enum": [
      "POST"
     ]
    },
    "bodyType": {
     "type": "string",
     "enum": [
      "json",
      "form-data",
      "text"
     ]
    },
    "body": {
     "type": "object",
     "properties": {
      "text": {
       "type": "string",
       "description": "The text to classify — a support ticket, email, message, document snippet, etc. Max 10000 words or 50KB."
      },
      "labels": {
       "type": "array",
       "items": {
        "type": "string"
       },
       "description": "2-20 candidate category labels to classify the text into. The chosen label(s) are always drawn from this set."
      },
      "multi_label": {
       "type": "boolean",
       "description": "If true, allow multiple matching labels and return a labels array. Defaults to false (single best label)."
      }
     },
     "required": [
      "text",
      "labels"
     ]
    }
   },
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "mode": {
       "type": "string",
       "description": "single_label or multi_label"
      },
      "label": {
       "type": "string",
       "description": "Best matching label (single-label mode)"
      },
      "labels": {
       "type": "array",
       "items": {
        "type": "string"
       },
       "description": "Matching labels (multi-label mode)"
      },
      "confidence": {
       "type": "number",
       "description": "Confidence for the chosen label (single-label mode)"
      },
      "scores": {
       "type": "object",
       "description": "Per-label relevance scores (0-1) for every provided label"
      },
      "labels_provided": {
       "type": "array",
       "items": {
        "type": "string"
       },
       "description": "Echo of the candidate labels supplied by the caller"
      },
      "score": {
       "type": "number",
       "description": "Quality score 0-100"
      },
      "grade": {
       "type": "string",
       "description": "Letter grade A-F"
      },
      "findings": {
       "type": "array",
       "item
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "mode": "single_label",
  "grade": "A",
  "label": "billing",
  "score": 100,
  "scores": {
   "billing": 0.91,
   "general": 0.03,
   "technical": 0.06
  },
  "findings": [],
  "confidence": 0.91,
  "labels_provided": [
   "billing",
   "technical",
   "general"
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/netintel-text-classifier-92c59dd3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from netintel-production-440c.up.railway.app](https://www.zero.xyz/host/netintel-production-440c.up.railway.app/llms.txt)
