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
200 OK
{
  "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
  }
}

Full parameters in the reference → · Product page

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
200 OK
{
  "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
  }
}

Full parameters in the reference → · Product page

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
200 OK
{
  "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
  }
}

Full parameters in the reference → · Product page

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
200 OK
{
  "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
  }
}

Full parameters in the reference → · Product page

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
200 OK
{
  "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
  }
}

Full parameters in the reference → · Product page

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
200 OK
{
  "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
  }
}

Full parameters in the reference → · Product page

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
200 OK
{
  "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
  }
}

Full parameters in the reference → · Product page

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
200 OK
{
  "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
  }
}

Full parameters in the reference → · Product page

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
200 OK
{
  "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
  }
}

Full parameters in the reference → · Product page