Skip to main content
Text tags let you define signing fields inside the PDF itself. When you send a signature request via the API, Lumin parses the document for any tags that match the expected syntax and converts them into interactive form fields for your signers. This approach is ideal when you generate documents programmatically and want to define field placement without using the Lumin Sign editor.

How to enable text tags

Include "use_text_tags": true in your POST /signature_request/send request body. If you omit this field, it defaults to false and tags are ignored.

Syntax

A text tag is a string placed directly in the body of your PDF document, wrapped in square brackets with identifiers separated by pipe characters:
Example tags:

Identifiers

Field types


Important notes

Tags are detected by reading actual text in the PDF — not by OCR. If your tag text is embedded in an image, it will not be detected.
  • PDF format is required. Form fields may be placed incorrectly if the document is not a PDF.
  • Tags remain in the rendered document. To hide a tag, set its text color to match the document background color.
  • No whitespace allowed inside tags. If you need extra horizontal space for layout, use underscores (_) after the last identifier instead:

Form field sizing

  • Height is fixed to accommodate a 12pt font.
  • Width equals the rendered length of the full tag string (including brackets). Add underscores after the last identifier to make a field wider.

Validation behavior

Lumin does not validate tag syntax at the time of the API request. Instead:
  • A tag missing any required identifier (type, requirement, assigner) is silently ignored — it is not converted into a form field and no error is returned.
  • A tag with an invalid value (e.g., wrong requirement type, or a signer index that does not exist in your signers array) triggers the signature_request_invalid webhook event after submission.
You will not receive an immediate API error for malformed tags. Subscribe to the signature_request_invalid webhook event to catch these issues in your integration. See the Webhooks guide for setup instructions.

Validation errors

When a text tag is malformed or references invalid data, the signature_request_invalid webhook event is fired with an error_code and error_message. Below are the possible validation errors:

Example webhook payload

When a text tag error is detected, the signature_request_invalid webhook event is sent:

Example: complete request with text tags

In this example, the PDF at file_url might contain:
signer1 resolves to [email protected] because that signer is at index 1 in the signers array.