status: operational latency: 42ms uptime: 99.98%
deploy: 9a3d9d5 docs ↗
┬ ┬┌┬┐┬  
│││ │ │  
└┴┘ ┴ ┴  
watch-the-ink
~/watch-the-ink > ⌘K
API Reference

Three-Layer Architecture

watchtheink exposes three independent API layers. You can use them together or independently, depending on how much of the pipeline you want to own.

Layer 1 — Form Designer API

Manage templates programmatically

Create, version, and retrieve FormTemplate objects. Templates are hierarchical: FormGroup → FormSection → FormField. Field types, validation rules, and option lists are defined here.

GET
/api/v1/templates
POST
/api/v1/templates
GET
/api/v1/templates/{"{id}"}
PUT
/api/v1/templates/{"{id}"}

Layer 2 — Extraction / Scan API

Submit scans and retrieve extracted values

Upload an image or PDF, associate it with a FormTemplate, and receive a FilledForm with per-field FieldValue records and confidence scores. Processing is asynchronous — poll or use webhooks.

POST
/api/v1/scans
GET
/api/v1/scans/{"{id}"}
GET
/api/v1/scans/{"{id}"}/values
PATCH
/api/v1/scans/{"{id}"}/values/{"{fieldId}"}

Layer 3 — Output / Processing API

Trigger downstream processing on extracted values

Apply one of the 10 processing categories to a completed scan. Configure entity mapping, aggregation targets, webhook endpoints, and compliance log destinations through this layer.

POST
/api/v1/processing/validate
POST
/api/v1/processing/aggregate
POST
/api/v1/processing/trigger
GET
/api/v1/processing/log

Full API documentation

OpenAPI spec, SDKs, and code examples on the developer portal.