@talonic/docs 0.6.2 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1539 -1
- package/dist/index.js +828 -134
- package/dist/index.js.map +1 -1
- package/dist/seo.d.ts +1539 -1
- package/dist/seo.js +466 -34
- package/package.json +1 -1
package/dist/seo.js
CHANGED
|
@@ -57,6 +57,77 @@ var API_NAV_SECTIONS = [
|
|
|
57
57
|
{ id: "webhook-verification", label: "Signature Verification" },
|
|
58
58
|
{ id: "webhook-retries", label: "Retry Policy" }
|
|
59
59
|
] },
|
|
60
|
+
{ id: "resolutions", label: "Resolutions", children: [
|
|
61
|
+
{ id: "list-resolutions", label: "List Resolutions" },
|
|
62
|
+
{ id: "create-resolution", label: "Create Resolution" },
|
|
63
|
+
{ id: "get-resolution", label: "Get Resolution" },
|
|
64
|
+
{ id: "get-resolution-results", label: "Get Results" },
|
|
65
|
+
{ id: "execute-resolution", label: "Execute Resolution" },
|
|
66
|
+
{ id: "delete-resolution", label: "Delete Resolution" }
|
|
67
|
+
] },
|
|
68
|
+
{ id: "linking", label: "Linking", children: [
|
|
69
|
+
{ id: "list-link-keys", label: "Link Keys" },
|
|
70
|
+
{ id: "get-document-links", label: "Document Links" },
|
|
71
|
+
{ id: "get-linking-graph", label: "Full Graph" },
|
|
72
|
+
{ id: "get-document-graph", label: "Document Graph" },
|
|
73
|
+
{ id: "classify-link-keys", label: "Classify" },
|
|
74
|
+
{ id: "backfill-linking", label: "Backfill" },
|
|
75
|
+
{ id: "backfill-progress", label: "Backfill Progress" },
|
|
76
|
+
{ id: "document-case-map", label: "Document-Case Map" }
|
|
77
|
+
] },
|
|
78
|
+
{ id: "nshot", label: "N-Shot", children: [
|
|
79
|
+
{ id: "nshot-summary", label: "Summary" },
|
|
80
|
+
{ id: "nshot-comparisons", label: "Comparisons" },
|
|
81
|
+
{ id: "nshot-comparison", label: "Single Comparison" },
|
|
82
|
+
{ id: "nshot-override", label: "Override" },
|
|
83
|
+
{ id: "nshot-judge-decision", label: "Judge Decision" }
|
|
84
|
+
] },
|
|
85
|
+
{ id: "schema-graph", label: "Schema Graph", children: [
|
|
86
|
+
{ id: "list-schema-graph-classes", label: "List Classes" },
|
|
87
|
+
{ id: "get-schema-graph-class", label: "Get Class" },
|
|
88
|
+
{ id: "list-class-versions", label: "List Versions" },
|
|
89
|
+
{ id: "get-class-version", label: "Get Version" },
|
|
90
|
+
{ id: "list-schema-graph-diffs", label: "List Diffs" },
|
|
91
|
+
{ id: "approve-diff", label: "Approve Diff" },
|
|
92
|
+
{ id: "reject-diff", label: "Reject Diff" },
|
|
93
|
+
{ id: "list-schema-graph-edges", label: "Edges" },
|
|
94
|
+
{ id: "list-schema-graph-aliases", label: "Aliases" },
|
|
95
|
+
{ id: "visualize-schema-graph", label: "Visualize" }
|
|
96
|
+
] },
|
|
97
|
+
{ id: "structuring", label: "Structuring", children: [
|
|
98
|
+
{ id: "list-structuring-checks", label: "List Checks" },
|
|
99
|
+
{ id: "create-structuring-check", label: "Create Check" },
|
|
100
|
+
{ id: "get-structuring-check", label: "Get / Update / Delete Check" },
|
|
101
|
+
{ id: "list-structuring-gates", label: "List Gates" },
|
|
102
|
+
{ id: "create-structuring-gate", label: "Create Gate" },
|
|
103
|
+
{ id: "get-structuring-gate", label: "Get / Update / Delete Gate" },
|
|
104
|
+
{ id: "gate-rules", label: "Gate Rules" },
|
|
105
|
+
{ id: "result-checks", label: "Result Checks" },
|
|
106
|
+
{ id: "pending-approvals", label: "Pending Approvals" },
|
|
107
|
+
{ id: "approve-reject-result", label: "Approve / Reject Result" },
|
|
108
|
+
{ id: "trigger-delivery", label: "Trigger Delivery" }
|
|
109
|
+
] },
|
|
110
|
+
{ id: "telemetry", label: "Telemetry", children: [
|
|
111
|
+
{ id: "schema-telemetry-summary", label: "Schema Summary" },
|
|
112
|
+
{ id: "schema-telemetry-trend", label: "Schema Trend" },
|
|
113
|
+
{ id: "schema-telemetry-fields", label: "Schema Fields" },
|
|
114
|
+
{ id: "run-telemetry-summary", label: "Run Summary" }
|
|
115
|
+
] },
|
|
116
|
+
{ id: "validation", label: "Validation", children: [
|
|
117
|
+
{ id: "list-golden-samples", label: "List Golden Samples" },
|
|
118
|
+
{ id: "get-golden-sample", label: "Get / Delete Golden Sample" },
|
|
119
|
+
{ id: "list-validation-runs", label: "List Validation Runs" },
|
|
120
|
+
{ id: "create-validation-run", label: "Create Validation Run" },
|
|
121
|
+
{ id: "get-validation-run", label: "Get / Delete Validation Run" },
|
|
122
|
+
{ id: "get-validation-results", label: "Validation Results" }
|
|
123
|
+
] },
|
|
124
|
+
{ id: "credits", label: "Credits", children: [
|
|
125
|
+
{ id: "credits-balance", label: "Balance" },
|
|
126
|
+
{ id: "credits-history", label: "History" },
|
|
127
|
+
{ id: "credits-usage", label: "Usage Summary" },
|
|
128
|
+
{ id: "credits-usage-daily", label: "Daily Usage" },
|
|
129
|
+
{ id: "credits-usage-log", label: "Usage Log" }
|
|
130
|
+
] },
|
|
60
131
|
{ id: "errors-rate-limits", label: "Errors & Rate Limits", children: [
|
|
61
132
|
{ id: "error-format", label: "Error Format" },
|
|
62
133
|
{ id: "error-codes", label: "Error Codes" },
|
|
@@ -156,6 +227,13 @@ var API_SECTION_META = [
|
|
|
156
227
|
{ id: "sources", title: "Inputs API", description: "Manage document sources for programmatic ingestion. Each source has its own API key and supports batch processing." },
|
|
157
228
|
{ id: "filter-search", title: "Filter & Search API", description: "Field autocomplete, document filtering with composable conditions, global omnisearch, and saved filter management." },
|
|
158
229
|
{ id: "webhooks", title: "Webhooks", description: "Real-time event notifications with HMAC-SHA256 signed payloads, delivery tracking, and exponential backoff retries." },
|
|
230
|
+
{ id: "resolutions", title: "Resolutions API", description: "Resolution runs \u2014 apply field normalization, transforms, and lookup cascades to extracted data. List, create, execute, and delete resolution runs." },
|
|
231
|
+
{ id: "linking", title: "Linking API", description: "Document linking graph \u2014 link keys, document links, entity graph, classification, backfill operations, and document-case mapping." },
|
|
232
|
+
{ id: "nshot", title: "N-Shot API", description: "N-Shot comparison endpoints for job runs \u2014 summary, field comparisons, overrides, and AI/human judge decisions." },
|
|
233
|
+
{ id: "schema-graph", title: "Schema Graph API", description: "Schema class ontology \u2014 versioned classes, diffs with approval/rejection workflow, inter-class edges, aliases, and D3-compatible visualization." },
|
|
234
|
+
{ id: "structuring", title: "Structuring API", description: "Validation checks CRUD, approval gates with configurable rules, result check outcomes, pending approvals queue, and delivery triggers." },
|
|
235
|
+
{ id: "validation", title: "Validation API", description: "Golden sample management and validation runs for measuring extraction accuracy against ground truth datasets." },
|
|
236
|
+
{ id: "credits", title: "Credits API", description: "Credit balance, transaction history, aggregate usage summaries, daily usage breakdown, and per-request usage log." },
|
|
159
237
|
{ id: "errors-rate-limits", title: "Errors & Rate Limits", description: "Error response format, error codes, rate limit tiers by plan, and rate limit headers." }
|
|
160
238
|
];
|
|
161
239
|
var PLATFORM_SECTION_META = [
|
|
@@ -272,6 +350,265 @@ var OPENAPI_SPEC = {
|
|
|
272
350
|
"/v1/sources/{id}/documents": {
|
|
273
351
|
get: { operationId: "listSourceDocuments", summary: "List documents in a source", tags: ["Sources"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Paginated documents" } } },
|
|
274
352
|
post: { operationId: "ingestDocument", summary: "Ingest a document into a source", tags: ["Sources"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Ingested document" } } }
|
|
353
|
+
},
|
|
354
|
+
// Resolutions
|
|
355
|
+
"/v1/resolutions": {
|
|
356
|
+
get: { operationId: "listResolutions", summary: "List resolution runs", tags: ["Resolutions"], responses: { "200": { description: "Paginated list of resolution runs" } } },
|
|
357
|
+
post: { operationId: "createResolution", summary: "Create a resolution run", tags: ["Resolutions"], responses: { "201": { description: "Resolution run created" } } }
|
|
358
|
+
},
|
|
359
|
+
"/v1/resolutions/{id}": {
|
|
360
|
+
get: { operationId: "getResolution", summary: "Get a resolution run", tags: ["Resolutions"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Resolution run detail" } } },
|
|
361
|
+
delete: { operationId: "deleteResolution", summary: "Delete a resolution run", tags: ["Resolutions"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Resolution run deleted" } } }
|
|
362
|
+
},
|
|
363
|
+
"/v1/resolutions/{id}/results": {
|
|
364
|
+
get: { operationId: "getResolutionResults", summary: "Get resolution run results", tags: ["Resolutions"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Resolution results" } } }
|
|
365
|
+
},
|
|
366
|
+
"/v1/resolutions/{id}/execute": {
|
|
367
|
+
post: { operationId: "executeResolution", summary: "Execute a resolution run", tags: ["Resolutions"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Resolution execution started" } } }
|
|
368
|
+
},
|
|
369
|
+
// Linking
|
|
370
|
+
"/v1/linking/link-keys": {
|
|
371
|
+
get: { operationId: "listLinkKeys", summary: "List link keys", tags: ["Linking"], responses: { "200": { description: "List of link keys" } } }
|
|
372
|
+
},
|
|
373
|
+
"/v1/linking/documents/{id}/links": {
|
|
374
|
+
get: { operationId: "getDocumentLinks", summary: "Get links for a document", tags: ["Linking"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Document links" } } }
|
|
375
|
+
},
|
|
376
|
+
"/v1/linking/graph": {
|
|
377
|
+
get: { operationId: "getLinkingGraph", summary: "Get the full linking graph", tags: ["Linking"], responses: { "200": { description: "Full linking graph" } } }
|
|
378
|
+
},
|
|
379
|
+
"/v1/linking/graph/documents/{id}": {
|
|
380
|
+
get: { operationId: "getDocumentGraph", summary: "Get graph neighbourhood for a document", tags: ["Linking"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Document-centric subgraph" } } }
|
|
381
|
+
},
|
|
382
|
+
"/v1/linking/classify": {
|
|
383
|
+
post: { operationId: "classifyLinkKeys", summary: "Classify link keys", tags: ["Linking"], responses: { "200": { description: "Classification results" } } }
|
|
384
|
+
},
|
|
385
|
+
"/v1/linking/backfill": {
|
|
386
|
+
post: { operationId: "backfillLinking", summary: "Backfill linking data", tags: ["Linking"], responses: { "202": { description: "Backfill started" } } }
|
|
387
|
+
},
|
|
388
|
+
"/v1/linking/backfill/progress": {
|
|
389
|
+
get: { operationId: "getBackfillProgress", summary: "Get backfill progress", tags: ["Linking"], responses: { "200": { description: "Backfill progress" } } }
|
|
390
|
+
},
|
|
391
|
+
"/v1/linking/document-case-map": {
|
|
392
|
+
get: { operationId: "getDocumentCaseMap", summary: "Get document-to-case mapping", tags: ["Linking"], responses: { "200": { description: "Document-case mapping" } } }
|
|
393
|
+
},
|
|
394
|
+
// N-Shot
|
|
395
|
+
"/v1/jobs/runs/{runId}/nshot/summary": {
|
|
396
|
+
get: { operationId: "getNshotSummary", summary: "Get N-Shot summary for a run", tags: ["N-Shot"], parameters: [{ name: "runId", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "N-Shot summary" } } }
|
|
397
|
+
},
|
|
398
|
+
"/v1/jobs/runs/{runId}/nshot/comparisons": {
|
|
399
|
+
get: { operationId: "listNshotComparisons", summary: "List N-Shot comparisons", tags: ["N-Shot"], parameters: [{ name: "runId", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "List of comparisons" } } }
|
|
400
|
+
},
|
|
401
|
+
"/v1/jobs/runs/{runId}/nshot/comparison": {
|
|
402
|
+
get: { operationId: "getNshotComparison", summary: "Get a specific N-Shot comparison", tags: ["N-Shot"], parameters: [{ name: "runId", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Single comparison result" } } }
|
|
403
|
+
},
|
|
404
|
+
"/v1/jobs/runs/{runId}/nshot/override": {
|
|
405
|
+
post: { operationId: "nshotOverride", summary: "Override an N-Shot value", tags: ["N-Shot"], parameters: [{ name: "runId", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Override applied" } } }
|
|
406
|
+
},
|
|
407
|
+
"/v1/jobs/runs/{runId}/nshot/judge-decision": {
|
|
408
|
+
post: { operationId: "nshotJudgeDecision", summary: "Submit a judge decision for N-Shot", tags: ["N-Shot"], parameters: [{ name: "runId", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Judge decision recorded" } } }
|
|
409
|
+
},
|
|
410
|
+
// Schema Graph
|
|
411
|
+
"/v1/schema-graph/classes": {
|
|
412
|
+
get: { operationId: "listSchemaGraphClasses", summary: "List schema graph classes", tags: ["Schema Graph"], responses: { "200": { description: "List of schema graph classes" } } }
|
|
413
|
+
},
|
|
414
|
+
"/v1/schema-graph/classes/{id}": {
|
|
415
|
+
get: { operationId: "getSchemaGraphClass", summary: "Get a schema graph class", tags: ["Schema Graph"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Schema graph class detail" } } }
|
|
416
|
+
},
|
|
417
|
+
"/v1/schema-graph/classes/{id}/versions": {
|
|
418
|
+
get: { operationId: "listSchemaGraphClassVersions", summary: "List versions of a schema graph class", tags: ["Schema Graph"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "List of class versions" } } }
|
|
419
|
+
},
|
|
420
|
+
"/v1/schema-graph/classes/{id}/versions/{version}": {
|
|
421
|
+
get: { operationId: "getSchemaGraphClassVersion", summary: "Get a specific class version", tags: ["Schema Graph"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }, { name: "version", in: "path", required: true, schema: { type: "integer" } }], responses: { "200": { description: "Class version detail" } } }
|
|
422
|
+
},
|
|
423
|
+
"/v1/schema-graph/diffs": {
|
|
424
|
+
get: { operationId: "listSchemaGraphDiffs", summary: "List schema graph diffs", tags: ["Schema Graph"], responses: { "200": { description: "List of diffs" } } }
|
|
425
|
+
},
|
|
426
|
+
"/v1/schema-graph/diffs/{id}/approve": {
|
|
427
|
+
post: { operationId: "approveSchemaGraphDiff", summary: "Approve a schema graph diff", tags: ["Schema Graph"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Diff approved" } } }
|
|
428
|
+
},
|
|
429
|
+
"/v1/schema-graph/diffs/{id}/reject": {
|
|
430
|
+
post: { operationId: "rejectSchemaGraphDiff", summary: "Reject a schema graph diff", tags: ["Schema Graph"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Diff rejected" } } }
|
|
431
|
+
},
|
|
432
|
+
"/v1/schema-graph/edges": {
|
|
433
|
+
get: { operationId: "listSchemaGraphEdges", summary: "List schema graph edges", tags: ["Schema Graph"], responses: { "200": { description: "List of edges" } } }
|
|
434
|
+
},
|
|
435
|
+
"/v1/schema-graph/aliases": {
|
|
436
|
+
get: { operationId: "listSchemaGraphAliases", summary: "List schema graph aliases", tags: ["Schema Graph"], responses: { "200": { description: "List of aliases" } } }
|
|
437
|
+
},
|
|
438
|
+
"/v1/schema-graph/visualize": {
|
|
439
|
+
get: { operationId: "visualizeSchemaGraph", summary: "Get schema graph visualization data", tags: ["Schema Graph"], responses: { "200": { description: "Visualization data" } } }
|
|
440
|
+
},
|
|
441
|
+
// Structuring
|
|
442
|
+
"/v1/structuring/checks": {
|
|
443
|
+
get: { operationId: "listStructuringChecks", summary: "List structuring checks", tags: ["Structuring"], responses: { "200": { description: "Paginated list of structuring checks" } } },
|
|
444
|
+
post: { operationId: "createStructuringCheck", summary: "Create a structuring check", tags: ["Structuring"], responses: { "201": { description: "Structuring check created" } } }
|
|
445
|
+
},
|
|
446
|
+
"/v1/structuring/checks/{id}": {
|
|
447
|
+
get: { operationId: "getStructuringCheck", summary: "Get a structuring check", tags: ["Structuring"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Structuring check detail" } } },
|
|
448
|
+
put: { operationId: "updateStructuringCheck", summary: "Update a structuring check", tags: ["Structuring"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Structuring check updated" } } },
|
|
449
|
+
delete: { operationId: "deleteStructuringCheck", summary: "Delete a structuring check", tags: ["Structuring"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Structuring check deleted" } } }
|
|
450
|
+
},
|
|
451
|
+
"/v1/structuring/gates": {
|
|
452
|
+
get: { operationId: "listStructuringGates", summary: "List approval gates", tags: ["Structuring"], responses: { "200": { description: "Paginated list of approval gates" } } },
|
|
453
|
+
post: { operationId: "createStructuringGate", summary: "Create an approval gate", tags: ["Structuring"], responses: { "201": { description: "Approval gate created" } } }
|
|
454
|
+
},
|
|
455
|
+
"/v1/structuring/gates/{id}": {
|
|
456
|
+
get: { operationId: "getStructuringGate", summary: "Get an approval gate", tags: ["Structuring"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Approval gate detail" } } },
|
|
457
|
+
put: { operationId: "updateStructuringGate", summary: "Update an approval gate", tags: ["Structuring"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Approval gate updated" } } },
|
|
458
|
+
delete: { operationId: "deleteStructuringGate", summary: "Delete an approval gate", tags: ["Structuring"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Approval gate deleted" } } }
|
|
459
|
+
},
|
|
460
|
+
"/v1/structuring/gates/{id}/rules": {
|
|
461
|
+
post: { operationId: "addStructuringGateRule", summary: "Add a rule to an approval gate", tags: ["Structuring"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "201": { description: "Rule added" } } },
|
|
462
|
+
delete: { operationId: "deleteStructuringGateRule", summary: "Remove a rule from an approval gate", tags: ["Structuring"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Rule removed" } } }
|
|
463
|
+
},
|
|
464
|
+
"/v1/structuring/results/{id}/checks": {
|
|
465
|
+
get: { operationId: "getStructuringResultChecks", summary: "Get check results for a structuring result", tags: ["Structuring"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Check results" } } }
|
|
466
|
+
},
|
|
467
|
+
"/v1/structuring/approvals/pending": {
|
|
468
|
+
get: { operationId: "listPendingApprovals", summary: "List pending approvals", tags: ["Structuring"], responses: { "200": { description: "Paginated list of pending approvals" } } }
|
|
469
|
+
},
|
|
470
|
+
"/v1/structuring/approvals/{id}/approve": {
|
|
471
|
+
post: { operationId: "approveStructuringResult", summary: "Approve a structuring result", tags: ["Structuring"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Result approved" } } }
|
|
472
|
+
},
|
|
473
|
+
"/v1/structuring/approvals/{id}/reject": {
|
|
474
|
+
post: { operationId: "rejectStructuringResult", summary: "Reject a structuring result", tags: ["Structuring"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Result rejected" } } }
|
|
475
|
+
},
|
|
476
|
+
"/v1/structuring/delivery/{runId}": {
|
|
477
|
+
post: { operationId: "triggerStructuringDelivery", summary: "Trigger delivery for a structuring run", tags: ["Structuring"], parameters: [{ name: "runId", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Delivery triggered" } } }
|
|
478
|
+
},
|
|
479
|
+
// Telemetry
|
|
480
|
+
"/v1/telemetry/schemas/{id}/summary": {
|
|
481
|
+
get: { operationId: "getTelemetrySchemaSummary", summary: "Get telemetry summary for a schema", tags: ["Telemetry"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Schema telemetry summary" } } }
|
|
482
|
+
},
|
|
483
|
+
"/v1/telemetry/schemas/{id}/trend": {
|
|
484
|
+
get: { operationId: "getTelemetrySchemaTrend", summary: "Get telemetry trend for a schema", tags: ["Telemetry"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Schema telemetry trend" } } }
|
|
485
|
+
},
|
|
486
|
+
"/v1/telemetry/schemas/{id}/fields": {
|
|
487
|
+
get: { operationId: "getTelemetrySchemaFields", summary: "Get per-field telemetry for a schema", tags: ["Telemetry"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Per-field telemetry" } } }
|
|
488
|
+
},
|
|
489
|
+
"/v1/telemetry/runs/{id}/summary": {
|
|
490
|
+
get: { operationId: "getTelemetryRunSummary", summary: "Get telemetry summary for a run", tags: ["Telemetry"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Run telemetry summary" } } }
|
|
491
|
+
},
|
|
492
|
+
// Validation
|
|
493
|
+
"/v1/validation/golden-samples": {
|
|
494
|
+
get: { operationId: "listGoldenSamples", summary: "List golden samples", tags: ["Validation"], responses: { "200": { description: "Paginated list of golden samples" } } }
|
|
495
|
+
},
|
|
496
|
+
"/v1/validation/golden-samples/{id}": {
|
|
497
|
+
get: { operationId: "getGoldenSample", summary: "Get a golden sample", tags: ["Validation"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Golden sample detail" } } },
|
|
498
|
+
delete: { operationId: "deleteGoldenSample", summary: "Delete a golden sample", tags: ["Validation"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Golden sample deleted" } } }
|
|
499
|
+
},
|
|
500
|
+
"/v1/validation/runs": {
|
|
501
|
+
get: { operationId: "listValidationRuns", summary: "List validation runs", tags: ["Validation"], responses: { "200": { description: "Paginated list of validation runs" } } },
|
|
502
|
+
post: { operationId: "createValidationRun", summary: "Create a validation run", tags: ["Validation"], responses: { "201": { description: "Validation run created" } } }
|
|
503
|
+
},
|
|
504
|
+
"/v1/validation/runs/{id}": {
|
|
505
|
+
get: { operationId: "getValidationRun", summary: "Get a validation run", tags: ["Validation"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Validation run detail" } } },
|
|
506
|
+
delete: { operationId: "deleteValidationRun", summary: "Delete a validation run", tags: ["Validation"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Validation run deleted" } } }
|
|
507
|
+
},
|
|
508
|
+
"/v1/validation/runs/{id}/results": {
|
|
509
|
+
get: { operationId: "getValidationRunResults", summary: "Get validation run results", tags: ["Validation"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Validation run results" } } }
|
|
510
|
+
},
|
|
511
|
+
// Credits
|
|
512
|
+
"/v1/credits/balance": {
|
|
513
|
+
get: { operationId: "getCreditsBalance", summary: "Get credit balance", tags: ["Credits"], responses: { "200": { description: "Credit balance" } } }
|
|
514
|
+
},
|
|
515
|
+
"/v1/credits/history": {
|
|
516
|
+
get: { operationId: "getCreditsHistory", summary: "Get credit history", tags: ["Credits"], responses: { "200": { description: "Paginated credit history" } } }
|
|
517
|
+
},
|
|
518
|
+
"/v1/credits/usage": {
|
|
519
|
+
get: { operationId: "getCreditsUsage", summary: "Get credit usage summary", tags: ["Credits"], responses: { "200": { description: "Credit usage summary" } } }
|
|
520
|
+
},
|
|
521
|
+
"/v1/credits/usage/daily": {
|
|
522
|
+
get: { operationId: "getCreditsUsageDaily", summary: "Get daily credit usage", tags: ["Credits"], responses: { "200": { description: "Daily credit usage" } } }
|
|
523
|
+
},
|
|
524
|
+
"/v1/credits/usage/log": {
|
|
525
|
+
get: { operationId: "getCreditsUsageLog", summary: "Get credit usage log", tags: ["Credits"], responses: { "200": { description: "Paginated usage log" } } }
|
|
526
|
+
},
|
|
527
|
+
// Expanded: Cases
|
|
528
|
+
"/v1/cases/{key}/status": {
|
|
529
|
+
patch: { operationId: "updateCaseStatus", summary: "Update case status", tags: ["Cases"], parameters: [{ name: "key", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Case status updated" } } }
|
|
530
|
+
},
|
|
531
|
+
"/v1/cases/{key}/edges": {
|
|
532
|
+
get: { operationId: "getCaseEdges", summary: "Get case edges", tags: ["Cases"], parameters: [{ name: "key", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Case edges" } } }
|
|
533
|
+
},
|
|
534
|
+
"/v1/cases/edges/confirm": {
|
|
535
|
+
post: { operationId: "confirmCaseEdge", summary: "Confirm a case edge", tags: ["Cases"], responses: { "200": { description: "Edge confirmed" } } }
|
|
536
|
+
},
|
|
537
|
+
"/v1/cases/edges/reject": {
|
|
538
|
+
post: { operationId: "rejectCaseEdge", summary: "Reject a case edge", tags: ["Cases"], responses: { "200": { description: "Edge rejected" } } }
|
|
539
|
+
},
|
|
540
|
+
"/v1/cases/{key}/split": {
|
|
541
|
+
post: { operationId: "splitCase", summary: "Split a case", tags: ["Cases"], parameters: [{ name: "key", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Case split" } } }
|
|
542
|
+
},
|
|
543
|
+
"/v1/cases/{key}/merge": {
|
|
544
|
+
post: { operationId: "mergeCases", summary: "Merge cases", tags: ["Cases"], parameters: [{ name: "key", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Cases merged" } } }
|
|
545
|
+
},
|
|
546
|
+
"/v1/cases/{key}/completeness": {
|
|
547
|
+
get: { operationId: "getCaseCompleteness", summary: "Get case completeness", tags: ["Cases"], parameters: [{ name: "key", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Completeness assessment" } } }
|
|
548
|
+
},
|
|
549
|
+
"/v1/cases/{key}/pin": {
|
|
550
|
+
post: { operationId: "pinCaseDocuments", summary: "Pin documents to a case", tags: ["Cases"], parameters: [{ name: "key", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Documents pinned" } } }
|
|
551
|
+
},
|
|
552
|
+
"/v1/cases/{key}/documents": {
|
|
553
|
+
delete: { operationId: "removeCaseDocuments", summary: "Remove documents from a case", tags: ["Cases"], parameters: [{ name: "key", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Documents removed" } } }
|
|
554
|
+
},
|
|
555
|
+
// Expanded: Batches
|
|
556
|
+
"/v1/batches/{id}/sync": {
|
|
557
|
+
post: { operationId: "syncBatch", summary: "Sync batch status with provider", tags: ["Batches"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Batch synced" } } }
|
|
558
|
+
},
|
|
559
|
+
"/v1/batches/{id}/cancel": {
|
|
560
|
+
post: { operationId: "cancelBatch", summary: "Cancel a batch inference run", tags: ["Batches"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Batch cancelled" } } }
|
|
561
|
+
},
|
|
562
|
+
// Expanded: Matching
|
|
563
|
+
"/v1/matching/smart-run": {
|
|
564
|
+
post: { operationId: "triggerSmartMatchingRun", summary: "Trigger a smart matching run", tags: ["Matching"], responses: { "201": { description: "Smart matching run queued" } } }
|
|
565
|
+
},
|
|
566
|
+
"/v1/matching/ai-resolve": {
|
|
567
|
+
post: { operationId: "aiResolveMatching", summary: "AI-resolve ambiguous matches", tags: ["Matching"], responses: { "200": { description: "AI resolution results" } } }
|
|
568
|
+
},
|
|
569
|
+
"/v1/matching/strategies": {
|
|
570
|
+
get: { operationId: "listMatchingStrategies", summary: "List matching strategies", tags: ["Matching"], responses: { "200": { description: "List of matching strategies" } } },
|
|
571
|
+
post: { operationId: "createMatchingStrategy", summary: "Create a matching strategy", tags: ["Matching"], responses: { "201": { description: "Matching strategy created" } } }
|
|
572
|
+
},
|
|
573
|
+
"/v1/matching/strategies/{id}": {
|
|
574
|
+
get: { operationId: "getMatchingStrategy", summary: "Get a matching strategy", tags: ["Matching"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Matching strategy detail" } } },
|
|
575
|
+
put: { operationId: "updateMatchingStrategy", summary: "Update a matching strategy", tags: ["Matching"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Matching strategy updated" } } },
|
|
576
|
+
delete: { operationId: "deleteMatchingStrategy", summary: "Delete a matching strategy", tags: ["Matching"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Matching strategy deleted" } } }
|
|
577
|
+
},
|
|
578
|
+
"/v1/matching/runs/{id}/results": {
|
|
579
|
+
get: { operationId: "getMatchingRunResults", summary: "Get matching run results", tags: ["Matching"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Matching run results" } } }
|
|
580
|
+
},
|
|
581
|
+
"/v1/matching/runs/{id}/progress": {
|
|
582
|
+
get: { operationId: "getMatchingRunProgress", summary: "Get matching run progress", tags: ["Matching"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Matching run progress" } } }
|
|
583
|
+
},
|
|
584
|
+
"/v1/matching/review": {
|
|
585
|
+
post: { operationId: "submitMatchingReview", summary: "Submit matching review decisions", tags: ["Matching"], responses: { "200": { description: "Review decisions applied" } } }
|
|
586
|
+
},
|
|
587
|
+
// Expanded: Review
|
|
588
|
+
"/v1/review/assign": {
|
|
589
|
+
post: { operationId: "assignReview", summary: "Assign review records", tags: ["Review"], responses: { "200": { description: "Records assigned" } } }
|
|
590
|
+
},
|
|
591
|
+
"/v1/review/stats": {
|
|
592
|
+
get: { operationId: "getReviewStats", summary: "Get review queue statistics", tags: ["Review"], responses: { "200": { description: "Review statistics" } } }
|
|
593
|
+
},
|
|
594
|
+
// Expanded: Quality
|
|
595
|
+
"/v1/quality/ground-truth/{id}/entries": {
|
|
596
|
+
get: { operationId: "listGroundTruthEntries", summary: "List ground truth entries", tags: ["Quality"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Paginated list of entries" } } },
|
|
597
|
+
post: { operationId: "createGroundTruthEntry", summary: "Add a ground truth entry", tags: ["Quality"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "201": { description: "Entry created" } } }
|
|
598
|
+
},
|
|
599
|
+
"/v1/quality/ground-truth/{id}/entries/{entryId}": {
|
|
600
|
+
put: { operationId: "updateGroundTruthEntry", summary: "Update a ground truth entry", tags: ["Quality"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }, { name: "entryId", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Entry updated" } } },
|
|
601
|
+
delete: { operationId: "deleteGroundTruthEntry", summary: "Delete a ground truth entry", tags: ["Quality"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }, { name: "entryId", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Entry deleted" } } }
|
|
602
|
+
},
|
|
603
|
+
"/v1/quality/benchmarks/{id}/results": {
|
|
604
|
+
get: { operationId: "getBenchmarkResults", summary: "Get benchmark results", tags: ["Quality"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Benchmark results" } } }
|
|
605
|
+
},
|
|
606
|
+
"/v1/quality/benchmarks/{id}/compare": {
|
|
607
|
+
get: { operationId: "compareBenchmarks", summary: "Compare two benchmark runs", tags: ["Quality"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Benchmark comparison" } } }
|
|
608
|
+
},
|
|
609
|
+
// Expanded: Reference Data
|
|
610
|
+
"/v1/reference-data/create": {
|
|
611
|
+
post: { operationId: "createReferenceDataJson", summary: "Create reference data from JSON", tags: ["Reference Data"], responses: { "201": { description: "Reference dataset created" } } }
|
|
275
612
|
}
|
|
276
613
|
}
|
|
277
614
|
};
|
|
@@ -292,52 +629,147 @@ var PLATFORM_FAQ = [
|
|
|
292
629
|
];
|
|
293
630
|
var LLMS_TXT = `# Talonic
|
|
294
631
|
|
|
295
|
-
>
|
|
632
|
+
> AI-powered document structuring platform that turns unstructured files into schema-validated, provenance-tracked structured data.
|
|
296
633
|
|
|
297
|
-
Talonic
|
|
634
|
+
Talonic ingests documents in 25+ formats (PDFs, scans, images, spreadsheets, emails, archives), discovers every data field through AI extraction and semantic clustering, and produces structured datasets with per-cell confidence scores, reasoning traces, and source provenance. It runs a single deployable stack with Postgres + pgvector, Anthropic Claude for extraction, and Mistral Document AI for OCR.
|
|
298
635
|
|
|
299
|
-
##
|
|
636
|
+
## How It Works
|
|
300
637
|
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
638
|
+
1. **Upload** \u2014 Drag files/folders into Inputs or ingest via API. ZIP archives unpack automatically. Files are deduplicated via SHA-256 hashing.
|
|
639
|
+
2. **Extract** \u2014 Each document goes through Document AI OCR (converts to Markdown), classification against a 529-type ontology, and AI field extraction (discovers every data point with confidence and source text).
|
|
640
|
+
3. **Build Schema** \u2014 Extracted fields resolve into the Field Registry (canonical names, semantic clusters, master instructions). Define a user template selecting the fields you need.
|
|
641
|
+
4. **Run Job** \u2014 A 4-phase pipeline fills every cell in a documents \xD7 fields grid. ~30% filled instantly from graph matches, ~70% from AI agents.
|
|
642
|
+
5. **Deliver** \u2014 Push approved data to webhooks, REST APIs, SFTP, email, or S3/R2 cloud storage.
|
|
643
|
+
|
|
644
|
+
## Sources & Documents
|
|
645
|
+
|
|
646
|
+
Supported formats across three processing paths:
|
|
647
|
+
- **Text fast-path** (direct read): TXT, MD, HTML, XML, JSON, EML, CSV
|
|
648
|
+
- **AI Vision** (multimodal): PNG, JPG, JPEG, GIF, WEBP
|
|
649
|
+
- **OCR** (Mistral Document AI \u2192 Markdown): PDF, DOCX, DOC, PPTX, PPT, XLSX, XLS, XLSM, MSG, BMP
|
|
650
|
+
- **Archives**: ZIP (recursive unpack)
|
|
651
|
+
|
|
652
|
+
Upload methods: drag-and-drop UI, folder upload (preserves file paths), API upload (single, batch up to 200 files, or archive up to 500 MB). Batch mode available at 50% cost with 48-hour delivery window.
|
|
653
|
+
|
|
654
|
+
Every document is classified into a canonical type from the 529-type ontology (e.g., "Employment Contract", "Invoice", "Bill of Lading"). Classification is language-agnostic \u2014 a German Arbeitsvertrag maps to the same type as an English Employment Contract. Unresolvable documents get "Unclassified Document".
|
|
655
|
+
|
|
656
|
+
Document detail tabs: Raw Extraction (every field with confidence), Resolved Data (mapped to registry), Processing Log (per-stage timing), Original File.
|
|
657
|
+
|
|
658
|
+
## Field Registry
|
|
659
|
+
|
|
660
|
+
The unified knowledge graph of all canonical fields, growing smarter with every document processed.
|
|
661
|
+
|
|
662
|
+
- **Tier 1 (Core)**: Universal fields across many document types. Most reliable.
|
|
663
|
+
- **Tier 2 (Established)**: Promoted from Tier 3 after frequency thresholds. Production-ready.
|
|
664
|
+
- **Tier 3 (Emerging)**: Newly discovered from a few documents. May promote as more data arrives.
|
|
665
|
+
|
|
666
|
+
Fields with similar meanings cluster automatically via AI embeddings (e.g., "Vendor Name", "Supplier Name", "Company Name" \u2192 same cluster). Master instructions are AI-synthesized extraction directives that improve accuracy over time.
|
|
667
|
+
|
|
668
|
+
## Schemas
|
|
304
669
|
|
|
305
|
-
|
|
670
|
+
Two types: **Generated schemas** (auto-created per document type from Tier 1+2 fields) and **User templates** (user-defined output structures).
|
|
306
671
|
|
|
307
|
-
|
|
308
|
-
Auth: Bearer token (tlnc_ prefix)
|
|
672
|
+
Template workflow: name it \u2192 add fields (display name, data type, extraction instructions) \u2192 map to registry (exact/semantic/composite matching) \u2192 add reference tables \u2192 publish an immutable version.
|
|
309
673
|
|
|
310
|
-
|
|
311
|
-
\`\`\`
|
|
312
|
-
curl -X POST https://api.talonic.com/v1/extract \\
|
|
313
|
-
-H "Authorization: Bearer tlnc_sk_live_..." \\
|
|
314
|
-
-F "file=@document.pdf" \\
|
|
315
|
-
-F 'schema={"vendor_name":"string","total":"number"}'
|
|
316
|
-
\`\`\`
|
|
674
|
+
Field features: format constraints (regex validation with empty/flag/constant fallback), modifiers (date/number format, alias mapping, max_length), bypass strategies (constant, generator, reference lookup \u2014 skip LLM), capture submoves (match \u2192 compute \u2192 reason), output name remapping.
|
|
317
675
|
|
|
318
|
-
|
|
676
|
+
Versioning: Live (published, read-only), Workshop (mutable draft), Version History (timeline with diff). Test extraction compares draft vs. live results before publishing.
|
|
319
677
|
|
|
320
|
-
|
|
321
|
-
- GET /v1/documents \u2014 List and manage documents
|
|
322
|
-
- GET /v1/extractions \u2014 Query extraction results
|
|
323
|
-
- POST /v1/schemas \u2014 Create reusable extraction schemas
|
|
324
|
-
- GET /v1/jobs \u2014 Track async extraction jobs
|
|
325
|
-
- POST /v1/sources \u2014 Manage document sources with API keys
|
|
678
|
+
## Extraction Jobs (Runs)
|
|
326
679
|
|
|
327
|
-
|
|
680
|
+
A job applies a schema to documents, producing a grid (rows = documents, columns = fields). Navigate to Structuring \u2192 Runs \u2192 New.
|
|
328
681
|
|
|
329
|
-
-
|
|
330
|
-
-
|
|
331
|
-
|
|
332
|
-
-
|
|
333
|
-
-
|
|
334
|
-
- Export to webhooks, REST APIs, SFTP, email, cloud storage
|
|
335
|
-
- HMAC-SHA256 signed webhooks with retry policy
|
|
682
|
+
**4-phase pipeline:**
|
|
683
|
+
1. **Resolve** \u2014 ~30% of cells in seconds. Graph matches, fuzzy name matching, concept-synonym expansion, 3-tier reference lookup (normalize \u2192 fuzzy \u2192 AI), description scan. No AI calls (except rare Haiku fallback). Values normalized: dates \u2192 YYYY/MM/DD, numbers \u2192 2 decimal places.
|
|
684
|
+
2. **Agent** \u2014 AI reviews gap patterns and produces typed strategy per field: compute (formula from grid values), transfer (copy from equivalent field), extract (re-read document with instructions, 5 concurrent), skip (with reasoning). Fields with manual instructions are always extracted, never skipped.
|
|
685
|
+
3. **Validation** \u2014 Cross-field sanity checks: date_sanity, amount_mismatch, lookup_failed, low_confidence_outlier, unexpected_empty. Flags are informational only \u2014 never block output.
|
|
686
|
+
4. **Re-read** \u2014 Context-aware gap filling. For each empty/low-confidence cell, AI re-reads the original document with field instruction + full grid context. Respects the confidence gate: cells \u2265 0.7 confidence are permanently protected.
|
|
336
687
|
|
|
337
|
-
|
|
688
|
+
Per-cell provenance: confidence (0.0\u20131.0), resolution_type (graph_match | agent_derived | source_reread | unresolved), phase (1\u20134), reasoning trace, source reference (document, page, field).
|
|
338
689
|
|
|
339
|
-
|
|
340
|
-
|
|
690
|
+
## Cases & Document Linking
|
|
691
|
+
|
|
692
|
+
Registry fields can be link keys: Identity (company/person names), Transaction (contract/PO/invoice numbers), Reference (project codes, cost centers). The linking pipeline normalizes values and builds a bipartite graph of documents \u2194 entities.
|
|
693
|
+
|
|
694
|
+
A **case** = 2+ documents connected through transaction/reference entities. An **entity group** = 2+ documents connected through identity-only entities. High-frequency entities (>30% of documents) are auto-excluded from case formation.
|
|
695
|
+
|
|
696
|
+
Case detail: documents, shared entities, evidence chain, timeline, AI-generated narration. Document Graph provides a D3-force visual layout. Case templates auto-discovered after 3+ cases form.
|
|
697
|
+
|
|
698
|
+
## Smart Matching
|
|
699
|
+
|
|
700
|
+
Upload CSV/Excel as reference datasets. Define field-to-field comparisons with weighted strategies: exact (case-insensitive), fuzzy (token-based with similarity threshold), date_range (configurable tolerance), numeric_range (percentage or absolute tolerance). AI can auto-suggest field mappings.
|
|
701
|
+
|
|
702
|
+
Results: top 5 candidates per document with confidence scores and per-field evidence breakdown.
|
|
703
|
+
|
|
704
|
+
## Validation & Quality
|
|
705
|
+
|
|
706
|
+
- **Validation checks**: Schema-level rules (field format, value range, cross-field consistency, AI-proposed coherence). Run during Phase 3.
|
|
707
|
+
- **Golden samples**: Manually-created reference datasets. Benchmark runs compare extraction vs. golden for per-field accuracy with AI judge verdicts.
|
|
708
|
+
- **Approval gates**: Threshold-based auto-approve/flag (minimum confidence, validation pass rate, field coverage). Failed rows go to manual review queue.
|
|
709
|
+
|
|
710
|
+
## Delivery
|
|
711
|
+
|
|
712
|
+
Destinations: Webhook (HMAC-SHA256 signed), REST API (configurable headers), SFTP, Email (attachments), S3/R2 (cloud storage).
|
|
713
|
+
|
|
714
|
+
Field mappings transform output fields to match destination format. Triggers: auto on approval (stage/push), scheduled (cron), or manual. Failed exports retry with exponential backoff.
|
|
715
|
+
|
|
716
|
+
Dialects control serialization: date_format, number_locale, CSV delimiter, null representation, boolean format, encoding (UTF-8, UTF-8-BOM, ISO-8859-1).
|
|
717
|
+
|
|
718
|
+
## Search & Navigation
|
|
719
|
+
|
|
720
|
+
**Omnisearch** (Cmd+K / Ctrl+K): searches across documents, extracted values, field names, schema names, and sources simultaneously.
|
|
721
|
+
|
|
722
|
+
Document filters: field-value conditions with autocomplete, comparison operators (eq, contains, gt, between, is_empty), combinable. URL-serializable and saveable as presets.
|
|
723
|
+
|
|
724
|
+
Keyboard shortcuts: Cmd+K (search), Cmd+J (quick extract), Escape (close overlays).
|
|
725
|
+
|
|
726
|
+
## Team & Settings
|
|
727
|
+
|
|
728
|
+
4 roles: Viewer (read-only), Member (full CRUD), Admin (+ team management), Owner (+ billing, API keys, org settings). New members auto-match by email domain with pending approval.
|
|
729
|
+
|
|
730
|
+
Usage & Registry: per-feature cost breakdown, daily cost chart, call log with model/tokens/cost. Admin master view for cross-tenant stats.
|
|
731
|
+
|
|
732
|
+
## API
|
|
733
|
+
|
|
734
|
+
Base URL: \`https://api.talonic.com\`. Auth: \`Authorization: Bearer tlnc_...\` (SHA-256 hashed, shown once at creation). Scopes: extract, read, write.
|
|
735
|
+
|
|
736
|
+
Key endpoints:
|
|
737
|
+
- POST /v1/extract \u2014 Synchronous/async document extraction (\`include_markdown=true\` returns OCR text, \`processing_mode=batch\` for 50% cost)
|
|
738
|
+
- GET /v1/documents \u2014 List with cursor pagination; GET /v1/documents/:id/markdown for OCR text
|
|
739
|
+
- GET /v1/extractions \u2014 Query results and field corrections
|
|
740
|
+
- POST /v1/schemas \u2014 Create/manage extraction schemas
|
|
741
|
+
- GET /v1/jobs \u2014 Track async jobs and results; N-Shot comparisons, overrides, judge decisions
|
|
742
|
+
- POST /v1/sources \u2014 Manage API sources and document ingest
|
|
743
|
+
- POST /v1/webhooks \u2014 Configure webhook endpoints
|
|
744
|
+
- /v1/resolutions \u2014 Resolution runs: list, create, get, execute, delete, results
|
|
745
|
+
- /v1/linking \u2014 Link keys, document links, entity graph, classify, backfill, document-case map
|
|
746
|
+
- /v1/schema-graph \u2014 Schema classes, versions, diffs (approve/reject), edges, aliases, visualize
|
|
747
|
+
- /v1/structuring \u2014 Validation checks CRUD, approval gates CRUD with rules, result checks, pending approvals, approve/reject, delivery trigger
|
|
748
|
+
- /v1/telemetry \u2014 Per-schema and per-run summaries, trends, field-level breakdowns
|
|
749
|
+
- /v1/validation \u2014 Golden samples (list, get, delete), validation runs (list, create, get, delete, results)
|
|
750
|
+
- /v1/credits \u2014 Balance, history, usage summary, daily usage, per-request usage log
|
|
751
|
+
- /v1/cases \u2014 Status updates, edges, edge confirm/reject, split/merge, completeness, pin/remove documents
|
|
752
|
+
- /v1/batches \u2014 Sync with provider, cancel
|
|
753
|
+
- /v1/matching \u2014 Smart run, AI resolve, strategies CRUD, run results/progress, review
|
|
754
|
+
- /v1/review \u2014 Assign, stats
|
|
755
|
+
- /v1/quality \u2014 Ground truth entries CRUD, benchmark results, benchmark comparison
|
|
756
|
+
- /v1/reference-data \u2014 JSON upload (POST create)
|
|
757
|
+
|
|
758
|
+
Webhook events: extraction.completed, job.completed, export.completed, validation.completed. All HMAC-SHA256 signed with retry on failure.
|
|
759
|
+
|
|
760
|
+
## Agent
|
|
761
|
+
|
|
762
|
+
The embedded AI assistant accessible from any page. Two modes:
|
|
763
|
+
- **Chat mode** \u2014 Ask questions about the platform, your documents, extraction results, schemas, or workflows. Grounded in platform documentation.
|
|
764
|
+
- **Planning mode** \u2014 Request actions (create schemas, run jobs, configure exports). The agent builds a plan, confirms with you, then executes.
|
|
765
|
+
|
|
766
|
+
Document upload flow: Cmd+J or the upload button opens quick extract. Drop a file, select a schema (or let AI discover fields), and get structured results.
|
|
767
|
+
|
|
768
|
+
## Documentation
|
|
769
|
+
|
|
770
|
+
- [API Documentation](https://talonic.com/docs): Complete REST API reference
|
|
771
|
+
- [Platform Guide](https://talonic.com/docs/platform): Product documentation and feature guide
|
|
772
|
+
- [OpenAPI Spec](https://talonic.com/docs/openapi.json): Machine-readable API specification
|
|
341
773
|
`;
|
|
342
774
|
var LLMS_FULL_TXT_HEADER = `# Talonic \u2014 Full Documentation
|
|
343
775
|
|