Skip to main content
With no tags in the document, the page is measured instead: signature boxes, date fields, ID-number combs and marital-status questions are found where they already are, each coming back with its id and — where a printed label named it — the data_key a prefilled value is addressed to.
  • ⚠️ It is the same code the editor’s “Find fields” button runs, not a second implementation. A template authored through the API and one authored by a person pressing that button have their fields in the same places, with the same masks and the same inferred types — because it is one function, not two copies that currently agree.
  • It infers position and type. It cannot infer ownership: a page cannot say which of three signers writes in a box, so every detected field goes to the first role that is not a cc. Reassign them in the editor afterwards.
  • ⚠️ A document with nothing detectable is not an error. A flat scan with no text layer yields no fields, and the call still answers 201 with a template holding its roles and its document — which is the thing you then place fields on. fields being empty is how you tell.