Endpoints
Documents
Any document in. Clean, schema-valid JSON out.
Document parse
POST /v1/parse$0.10/documentasync-capable
Any invoice, receipt, EOB, ERA, or COI — PDF or image — into structured, validated JSON.
curl https://api.kynth.studio/v1/parse \
-H "Authorization: Bearer $KYNTH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"fileUrl":"https://…/invoice.pdf"}'Example response
{
"docType": "invoice",
"party": "Acme Supplies Inc.",
"documentNumber": "INV-10428",
"date": "2026-06-30",
"totalAmount": 4820.5,
"lineItems": [
{
"description": "…",
"amount": 1200
}
],
"fields": [
{
"label": "PO Number",
"value": "PO-88",
"confidence": 0.98
}
],
"usage": {
"credits": 10,
"balanceRemaining": 490
}
}Contract analysis
POST /v1/contract$0.12/contractasync-capable
A contract → parties, effective date, term, renewal, governing law, obligations, and flagged risk clauses.
curl https://api.kynth.studio/v1/contract \
-H "Authorization: Bearer $KYNTH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"fileUrl":"https://…/msa.pdf"}'Example response
{
"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
}
}Invoice extraction
POST /v1/invoice$0.08/invoiceasync-capable
An invoice — PDF, photo, or text — into vendor, dates, PO refs, tax, totals, and clean line items.
curl https://api.kynth.studio/v1/invoice \
-H "Authorization: Bearer $KYNTH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"fileUrl":"https://…/invoice.pdf"}'Example response
{
"vendor": {
"name": "Acme Supplies Inc.",
"address": "123 Warehouse Rd, Columbus OH",
"taxId": null
},
"customer": "Northwind Coffee LLC",
"invoiceNumber": "INV-10428",
"poNumber": "PO-88",
"issueDate": "2026-06-30",
"dueDate": "2026-07-30",
"currency": "USD",
"subtotal": 1200,
"tax": 55.5,
"total": 1255.5,
"paymentTerms": "Net 30",
"lineItems": [
{
"description": "Widget A",
"quantity": 12,
"unitPrice": 100,
"amount": 1200
}
],
"usage": {
"credits": 8,
"balanceRemaining": 436
}
}Receipt extraction
POST /v1/receipt$0.06/receiptasync-capable
A receipt into merchant, items, totals, payment method, and an expense category — built for expense flows.
curl https://api.kynth.studio/v1/receipt \
-H "Authorization: Bearer $KYNTH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"fileUrl":"https://…/receipt.jpg"}'Example response
{
"merchant": "Blue Bottle Coffee",
"location": "315 Linden St, Oakland CA",
"date": "2026-07-02",
"time": "09:41",
"currency": "USD",
"subtotal": 10.25,
"tax": 0.95,
"tip": null,
"total": 11.2,
"paymentMethod": "visa ****4242",
"category": "meals",
"items": [
{
"description": "Latte 12oz",
"quantity": 1,
"amount": 5.75
},
{
"description": "Croissant",
"quantity": 1,
"amount": 4.5
}
],
"usage": {
"credits": 6,
"balanceRemaining": 430
}
}Statement parsing
POST /v1/statement$0.12/statementasync-capable
A bank or card statement into the account, the period, balances, and every transaction as a normalized row.
curl https://api.kynth.studio/v1/statement \
-H "Authorization: Bearer $KYNTH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"fileUrl":"https://…/statement.pdf"}'Example response
{
"institution": "Chase",
"accountHolder": "Northwind Coffee LLC",
"accountNumberMasked": "****4821",
"periodStart": "2026-06-01",
"periodEnd": "2026-06-30",
"currency": "USD",
"openingBalance": 18240.11,
"closingBalance": 21694.6,
"transactions": [
{
"date": "2026-06-03",
"description": "STRIPE PAYOUT",
"amount": 4820.5,
"direction": "credit",
"category": "revenue",
"balance": 23060.61
},
{
"date": "2026-06-05",
"description": "WEWORK RENT",
"amount": 2100,
"direction": "debit",
"category": "rent",
"balance": 20960.61
}
],
"transactionCount": 42,
"usage": {
"credits": 12,
"balanceRemaining": 418
}
}Resume parsing
POST /v1/resume$0.08/resumeasync-capable
A resume or CV into a structured candidate profile: contact, skills, experience, education, and links.
curl https://api.kynth.studio/v1/resume \
-H "Authorization: Bearer $KYNTH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"fileUrl":"https://…/resume.pdf"}'Example response
{
"name": "Maya Chen",
"email": "maya@…",
"phone": "+1 415 …",
"location": "Brooklyn, NY",
"headline": "Senior Backend Engineer",
"summary": "Backend engineer focused on payments infrastructure…",
"yearsExperience": 8,
"skills": [
"Go",
"Postgres",
"Kafka",
"Kubernetes"
],
"experience": [
{
"title": "Senior Backend Engineer",
"company": "Meridian Labs",
"startDate": "2023-02",
"endDate": "present",
"highlights": [
"Cut settlement latency 70%"
]
}
],
"education": [
{
"degree": "BS Computer Science",
"school": "UC Berkeley",
"year": "2018"
}
],
"links": {
"linkedin": "https://linkedin.com/in/…",
"github": "https://github.com/…",
"website": null
},
"usage": {
"credits": 8,
"balanceRemaining": 410
}
}Table extraction
POST /v1/tables$0.08/documentasync-capable
Every table in a document — even scanned — as clean headers and rows, ready for your spreadsheet or DB.
curl https://api.kynth.studio/v1/tables \
-H "Authorization: Bearer $KYNTH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"fileUrl":"https://…/quarterly-report.pdf"}'Example response
{
"tables": [
{
"title": "Revenue by region",
"page": 4,
"headers": [
"Region",
"Q1",
"Q2"
],
"rows": [
[
"North America",
"$1.2M",
"$1.4M"
],
[
"EMEA",
"$800k",
"$950k"
]
]
}
],
"tableCount": 3,
"usage": {
"credits": 8,
"balanceRemaining": 402
}
}Document splitting
POST /v1/split$0.10/bundleasync-capable
A multi-document scan bundle classified and split: what each document is, where it starts and ends, and a summary.
curl https://api.kynth.studio/v1/split \
-H "Authorization: Bearer $KYNTH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"fileUrl":"https://…/scan-bundle.pdf"}'Example response
{
"documents": [
{
"docType": "invoice",
"title": "Acme Supplies invoice INV-10428",
"pageStart": 1,
"pageEnd": 2,
"party": "Acme Supplies Inc.",
"date": "2026-06-30",
"summary": "Invoice for 12 Widget A units, $1,255.50 total."
},
{
"docType": "coi",
"title": "Certificate of insurance",
"pageStart": 3,
"pageEnd": 3,
"party": "Hartford",
"date": "2026-01-15",
"summary": "GL certificate, $2M aggregate, expires 2027-01-15."
}
],
"documentCount": 2,
"usage": {
"credits": 10,
"balanceRemaining": 392
}
}Document comparison
POST /v1/compare$0.15/comparisonasync-capable
Two versions of a contract or document → every material change, what it means, and the risk it carries.
curl https://api.kynth.studio/v1/compare \
-H "Authorization: Bearer $KYNTH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"a":{"fileUrl":"https://…/msa-2025.pdf"},"b":{"fileUrl":"https://…/msa-2026.pdf"}}'Example response
{
"changes": [
{
"section": "Term & Renewal",
"change": "modified",
"before": "30 days' notice",
"after": "90 days' notice",
"materiality": "high",
"note": "Cancellation window tripled — easy to miss the exit."
}
],
"changeCount": 6,
"summary": "The 2026 draft raises fees 8% and tightens the renewal window…",
"riskNotes": [
"Notice period tripled to 90 days",
"Liability cap now excludes data breaches"
],
"usage": {
"credits": 15,
"balanceRemaining": 377
}
}