Documents

Contract analysis

A contract → parties, effective date, term, renewal, governing law, obligations, and flagged risk clauses.

POST /v1/contract$0.12/contract · 12 credits, charged only on success

Send this

{
  "fileUrl": "https://…/msa.pdf"
}

Every response carries usage — the credits burned and your remaining balance. A failed call never burns credits.

Try it live against your own key in the interactive reference; every account gets 500 free credits a month, no card.

Get this back

{
  "contractType": "Master Services Agreement",
  "parties": [
    {
      "name": "Acme Inc.",
      "role": "Client"
    },
    {
      "name": "Vendor LLC",
      "role": "Provider"
    }
  ],
  "effectiveDate": "2026-01-01",
  "term": "12 months",
  "renewal": {
    "autoRenews": true,
    "noticePeriod": "30 days"
  },
  "governingLaw": "Delaware",
  "obligations": [
    "Provider delivers monthly reports"
  ],
  "riskFlags": [
    {
      "clause": "Auto-renewal",
      "severity": "medium",
      "reason": "Renews unless cancelled 30d prior."
    }
  ],
  "usage": {
    "credits": 12,
    "balanceRemaining": 464
  }
}

Four ways in. Same $0.12/contract.

curl
curl https://api.kynth.studio/v1/contract \
  -H "Authorization: Bearer ksk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"fileUrl":"https://…/msa.pdf"}'
TypeScript
import { KynthCore } from "@kynth/api";

const kynth = new KynthCore({ apiKey: process.env.KYNTH_API_KEY! });
const result = await kynth.contract({
  "fileUrl": "https://…/msa.pdf"
});
Python
from kynth import Kynth

client = Kynth(api_key=os.environ["KYNTH_API_KEY"])
result = client.contract(
    fileUrl="https://…/msa.pdf",
)
MCP
// One-time setup in your MCP client (Claude, Cursor, …):
{ "mcpServers": { "kynth-core": {
    "command": "npx", "args": ["@kynth/api-mcp"],
    "env": { "KYNTH_API_KEY": "ksk_live_…" } } } }

// Then the agent just calls the kynth_contract tool.

More from documents