Endpoints

Extract & structure

Messy input → data your code can trust.

Field extraction

POST /v1/extract$0.04/call

Pull a field set you define out of any block of text. You name the fields; you get typed values with confidence.

curl https://api.kynth.studio/v1/extract \
  -H "Authorization: Bearer $KYNTH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Order 5561 ships Jul 8 to Denver, CO. Total $412.","fields":["order number","ship date","destination","total"]}'
Example response
200 OK
{
  "results": [
    {
      "field": "order number",
      "value": "5561",
      "confidence": 0.99
    },
    {
      "field": "ship date",
      "value": "2026-07-08",
      "confidence": 0.9
    }
  ],
  "usage": {
    "credits": 4,
    "balanceRemaining": 486
  }
}

Full parameters in the reference → · Product page

Classification

POST /v1/classify$0.02/call

Route or tag text against your own taxonomy — a label, a confidence, and a one-line rationale.

curl https://api.kynth.studio/v1/classify \
  -H "Authorization: Bearer $KYNTH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"My card was charged twice for one order.","labels":["billing","shipping","technical","refund"]}'
Example response
200 OK
{
  "label": "billing",
  "confidence": 0.96,
  "rationale": "Duplicate charge is a billing dispute.",
  "usage": {
    "credits": 2,
    "balanceRemaining": 484
  }
}

Full parameters in the reference → · Product page

Structure to your schema

POST /v1/structure$0.06/call

Any messy input — text, HTML, an email — plus YOUR JSON schema → output shaped to it, validated against your required fields and property types, with an automatic corrective retry and a `valid` flag.

curl https://api.kynth.studio/v1/structure \
  -H "Authorization: Bearer $KYNTH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":"Hey — new order from Dana Reyes, dana@brightco.io. 3 large planters, ship to 44 Vine St Portland OR by the 20th.","schema":{"type":"object","required":["customer","items"],"properties":{"customer":{"type":"object"},"items":{"type":"array"},"shipTo":{"type":"string"},"deadline":{"type":"string"}}}}'
Example response
200 OK
{
  "data": {
    "customer": {
      "name": "Dana Reyes",
      "email": "dana@brightco.io"
    },
    "items": [
      {
        "product": "large planter",
        "quantity": 3
      }
    ],
    "shipTo": "44 Vine St, Portland OR",
    "deadline": "2026-07-20"
  },
  "valid": true,
  "notes": [],
  "usage": {
    "credits": 6,
    "balanceRemaining": 371
  }
}

Full parameters in the reference → · Product page

Record normalization

POST /v1/normalize$0.05/batch

A batch of messy records → clean canonical rows, with a change log of every fix (casing, formats, dedup-ready values).

curl https://api.kynth.studio/v1/normalize \
  -H "Authorization: Bearer $KYNTH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"records":[{"name":"SMITH, jon","phone":"415.555.0199","state":"california"}],"instructions":"US phone format, 2-letter state codes, Title Case names"}'
Example response
200 OK
{
  "records": [
    {
      "name": "Jon Smith",
      "phone": "(415) 555-0199",
      "state": "CA"
    }
  ],
  "changes": [
    {
      "index": 0,
      "field": "state",
      "from": "california",
      "to": "CA",
      "reason": "2-letter state code"
    }
  ],
  "usage": {
    "credits": 5,
    "balanceRemaining": 366
  }
}

Full parameters in the reference → · Product page

Entity matching

POST /v1/match$0.08/run

Two record sets → which rows are the same real-world thing, with confidence and reasoning. Fuzzy names, typos, aliases handled.

curl https://api.kynth.studio/v1/match \
  -H "Authorization: Bearer $KYNTH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"a":[{"name":"Acme Supplies Inc","city":"Columbus"}],"b":[{"vendor":"ACME SUPPLY, INC.","location":"Columbus, OH"}],"keys":["name"]}'
Example response
200 OK
{
  "matches": [
    {
      "aIndex": 0,
      "bIndex": 0,
      "confidence": 0.94,
      "reason": "Same entity: name variant + same city."
    }
  ],
  "unmatchedA": [],
  "unmatchedB": [],
  "usage": {
    "credits": 8,
    "balanceRemaining": 358
  }
}

Full parameters in the reference → · Product page

Batch categorization

POST /v1/categorize$0.03/batch

Up to a hundred items against your taxonomy in one call — products, transactions, tickets — each with a confidence.

curl https://api.kynth.studio/v1/categorize \
  -H "Authorization: Bearer $KYNTH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items":["AWS invoice June","Uber to airport","Figma annual"],"taxonomy":["software","travel","office","other"]}'
Example response
200 OK
{
  "results": [
    {
      "index": 0,
      "category": "software",
      "confidence": 0.97
    },
    {
      "index": 1,
      "category": "travel",
      "confidence": 0.98
    },
    {
      "index": 2,
      "category": "software",
      "confidence": 0.96
    }
  ],
  "usage": {
    "credits": 3,
    "balanceRemaining": 355
  }
}

Full parameters in the reference → · Product page