A structured document in the context of Box Sign is a document that includes specific tags that can be recognized by the Box Sign API. These tags are used to place the signature properties associated with a specific signer in the document, such as name, date, and signature. This allows your app to handle a dynamic generated document that is ready to be signed, which has a couple of advantages:Documentation Index
Fetch the complete documentation index at: https://developer.box.com/llms.txt
Use this file to discover all available pages before exploring further.
- The document can be dynamically generated, and the signature properties can be added to the document before creating the signature request, effectively bypassing the document preparation step.
- The document format can be handled outside of Box Sign templates, allowing higher flexibility and integration with external document management systems.
Anatomy of a structured document
Here is an example of a structured document, showing the formatting used to place tags in a Microsoft Word document:
[[c|1]] means a checkbox assigned to signer 1, and [[s| 1]] means a signature pad assigned to signer 1. Notice how the signature pad
is using font size 48 to reserve space vertically for the signature.
The [[t|1|id:tag_full_name|n:enter your complete name]] means a name tag
assigned to signer 1, with the label enter your complete name, and using an
id of tag_full_name.
Check out this document for a complete description of all
the tags available.
Setting the tags to the same color as the background will make them
invisible, but they will still be there.
The number in the tags refer to the signer number, not the signing order, so
[[c|1]] is the checkbox for signer 1, [[c|2]] is the checkbox for signer 2,
and so on.
Tag 0 is reserved for the sender, and always exists. So even if the sender
does not need to input any data into the document, the other signers must start
with 1.
Create a signature request from a structured document
This is the same as creating a signature request from an unstructured document. At minimum, you will need to specify the document, the receiving folder and the email of thesigner.
Since the structured document already contains the signature properties details
and location, you can bypass the document preparation.
This is how the flow would look like, from the generated document, create the
signature request and finally sign the document:



Pre-populate the signature attributes
If you have an external id in the document tags you can use it to pre-populate their values. For example, you can use thetag_full_name to pre-populate the
name of the signer.
See this method:

