eSign Tags Reference
Tags are interactive fields that you place on PDF documents to specify where signers should add their signatures, initials, dates, and other information. The Stewart Sign API uses JSON to define tag positions, types, and assignments to participants.
This guide provides a complete reference for all supported eSign tag types and how to implement them in your transactions.
New to eSign? Start with our Create Your First eSignature Transaction guide to learn the basics, then return here for detailed tag specifications.
Understanding the Coordinate System
The PDF coordinate system uses the bottom-left corner as the origin (0, 0). This is important when positioning tags on your documents.
- X-axis: Increases from left to right
- Y-axis: Increases from bottom to top
- Page numbering: 0-indexed (page 0 is the first page, page 1 is the second, etc.)
Tag Positioning
Each tag requires four coordinate values:
x: The horizontal position of the tag's bottom-left cornery: The vertical position of the tag's bottom-left cornerwidth: The tag's width, extending to the right from the x coordinateheight: The tag's height, extending upward from the y coordinate
{
"x": 100, // 100 points from left edge
"y": 150, // 150 points from bottom edge
"width": 150, // 150 points wide
"height": 34, // 34 points tall
"page": 0 // First page of document
}
Many PDF viewers display coordinates when you hover over the document. Remember to adjust for the bottom-left origin if your tool uses a top-left origin.
Data Requirements
To add tags to your eSign documents, you need:
- Participants - A list of signers with unique IDs, names, and email addresses
- Tags - Specifications for each interactive field including:
- Tag type (signature, date, text field, etc.)
- Position on the PDF (x, y coordinates, width, height)
- Page number
- Assignment to a participant (signerId)
Participant Object
Each participant in your transaction must be defined with the following properties:
Schema
{
signerId: string // Required - Unique UUID for this participant
firstName: string // Required - Participant's first name
middleName?: string // Optional - Participant's middle name
lastName: string // Required - Participant's last name
email: string // Required - Valid email address
type: string // Required - "signer"
}
Example
{
"signerId": "cb08d3ad-6199-465d-88c0-e73d96c50c54",
"firstName": "John",
"middleName": "Malcolm",
"lastName": "Gills",
"email": "john.gills@example.com",
"type": "signer"
}
Participant Types
signer: A person who will sign the document
JsonTag Object
The JsonTag object defines the type, position, and properties of each tag on your document.
Complete Schema
{
type: TagType // Required - Type of tag (see TagType enum below)
x: number // Required - Bottom-left x coordinate
y: number // Required - Bottom-left y coordinate
width: number // Required - Tag width in points
height: number // Required - Tag height in points
page: number // Required - 0-indexed page number
signerId?: string // Required - UUID of assigned participant
tagId?: string // Optional - UUID v4. Required only on tags referenced
// by a conditionalRules trigger or target
required?: boolean // Optional - Whether tag must be completed (default: false)
fontSize?: number // Optional - Font size for text-based tags (default: 12, min: 9)
dateFormat?: string // Optional - Format for date tags (default: "MM/DD/YYYY")
}
Field Reference
| Field | Required | Default | Description |
|---|---|---|---|
type | ✅ | - | The type of tag from the TagType enum |
x | ✅ | - | The bottom-left x coordinate of the tag |
y | ✅ | - | The bottom-left y coordinate of the tag |
width | ✅ | - | The width of the tag extending to the right |
height | ✅ | - | The height of the tag extending upward |
page | ✅ | - | Page number (0 = first page, 1 = second page, etc.) |
signerId | ✅ | - | The UUID of the participant this tag is assigned to |
tagId | ⚠️ | - | A UUID v4 that uniquely identifies this tag within the document. Required on any tag that is referenced by a Conditional Visibility Rule (as a trigger or a target). Must be unique within a single document. |
required | ❌ | false | If true, the tag must be filled before completion |
fontSize | ❌ | 12 | Font size for text-based tags (minimum 9) |
dateFormat | ❌ | "MM/DD/YYYY" | Date format for DATETEMPLATE tags |
Example
{
"type": "SIGNHERETAGTEMPLATEANNOTATION",
"x": 100,
"y": 150,
"width": 150,
"height": 34,
"page": 2,
"signerId": "cb08d3ad-6199-465d-88c0-e73d96c50c54",
"required": true,
"fontSize": 12
}
Supported Tag Types
The following tag types are supported for eSign transactions:
Signature & Initials
| Tag Type | Purpose | Recommended Size |
|---|---|---|
SIGNHERETAGTEMPLATEANNOTATION | Main signature field where signers apply their signature | 150 × 34 |
INITIALHERETAGTEMPLATEANNOTATION | Initial field where signers add their initials | 60 × 30 |
Example - Signature Tag:
{
"type": "SIGNHERETAGTEMPLATEANNOTATION",
"x": 100,
"y": 200,
"width": 150,
"height": 34,
"page": 0,
"signerId": "signer-uuid-123",
"required": true
}
Example - Initials Tag:
{
"type": "INITIALHERETAGTEMPLATEANNOTATION",
"x": 500,
"y": 750,
"width": 60,
"height": 30,
"page": 1,
"signerId": "signer-uuid-123"
}
Text & Name Fields
| Tag Type | Purpose | Auto-filled |
|---|---|---|
FULLNAMETEMPLATE | Automatically fills the signer's full name | ✅ Yes |
EMAILTEMPLATE | Automatically fills the signer's email address | ✅ Yes |
TEXTANNOT | Static text annotation (non-editable display text) | ❌ No |
FREEFORMTEMPLATE | General text field template | ❌ No |
Example - Full Name (Auto-filled):
{
"type": "FULLNAMETEMPLATE",
"x": 100,
"y": 180,
"width": 150,
"height": 20,
"page": 0,
"signerId": "signer-uuid-123",
"fontSize": 11
}
Example - Email (Auto-filled):
{
"type": "EMAILTEMPLATE",
"x": 100,
"y": 160,
"width": 200,
"height": 20,
"page": 0,
"signerId": "signer-uuid-123",
"fontSize": 11
}
Example - Free-form Text Input:
{
"type": "FREEFORMTEXTTAGTEMPLATEANNOTATION",
"x": 100,
"y": 400,
"width": 200,
"height": 25,
"page": 0,
"signerId": "signer-uuid-123",
"fontSize": 11
}
Example - Static Text Annotation:
{
"type": "TEXTANNOT",
"x": 100,
"y": 500,
"width": 300,
"height": 20,
"page": 0,
"fontSize": 10
}
FULLNAMETEMPLATE: Auto-populated with the participant's full name from their profileEMAILTEMPLATE: Auto-populated with the participant's email address from their profileFREEFORMTEXTTAGTEMPLATEANNOTATION: Editable field where signers can type custom textTEXTANNOT: Display-only text that cannot be edited by signers
Date Fields
| Tag Type | Purpose | Format Options |
|---|---|---|
DATETEMPLATE | Inserts the signing date with customizable format | Multiple formats available |
Available Date Formats:
| Format String | Example Output |
|---|---|
MM/DD/YYYY | 01/31/2020 |
DD/MM/YYYY | 31/01/2020 |
MM/DD/YY | 01/31/20 |
DD/MM/YY | 31/01/20 |
MMMM do, yyyy | March 31, 2023 |
Example:
{
"type": "DATETEMPLATE",
"x": 270,
"y": 150,
"width": 100,
"height": 20,
"page": 0,
"signerId": "signer-uuid-123",
"dateFormat": "MM/DD/YYYY"
}
Input & Selection Fields
| Tag Type | Purpose | Interaction | Recommended Size |
|---|---|---|---|
CHECKHERETAGTEMPLATEANNOTATION | Checkbox field for yes/no selections | Toggle on/off | 20 × 20 |
RADIOBUTTONTAGTEMPLATEANNOTATION | Radio button for single-choice selection | Select one option | 20 × 20 |
DROPDOWNTAGTEMPLATEANNOTATION | Dropdown menu for selecting from predefined options | Select from list | 150 × 30 |
Example - Checkbox:
{
"type": "CHECKHERETAGTEMPLATEANNOTATION",
"x": 100,
"y": 350,
"width": 20,
"height": 20,
"page": 0,
"signerId": "signer-uuid-123"
}
Example - Radio Button:
{
"type": "RADIOBUTTONTAGTEMPLATEANNOTATION",
"x": 100,
"y": 300,
"width": 20,
"height": 20,
"page": 0,
"signerId": "signer-uuid-123"
}
Dropdown Tag:
{
"type": "DROPDOWNTAGTEMPLATEANNOTATION",
"x": 350,
"y": 500,
"width": 150,
"height": 25,
"page": 0,
"signerId": "signer-uuid-123",
"customData": {
"dropdownOptions": ["Option A", "Option B", "Option C"]
}
}
Conditional Visibility Rules
Conditional Visibility lets you show certain tags (the targets) only when a signer interacts with another tag (the trigger) in a specific way. For example: reveal a signature and date field only after the signer checks an "I agree" checkbox.
Conditional Visibility must be enabled for your organization. If your organization does not have the ENABLE_CONDITIONAL_VISIBILITY feature enabled, any POST /transactions or PUT /transactions/:id request that includes conditionalRules will fail with:
{
"statusCode": 400,
"message": "Conditional visibility rules are not enabled for this organization. Contact support to enable the ENABLE_CONDITIONAL_VISIBILITY feature.",
"error": "Bad Request"
}
Contact the Stewart Sign Support Team to enable this feature.
How It Works
- Assign a
tagId(UUID v4) to every tag that will act as a trigger or a target. - Add a
conditionalRulesarray to the document (sibling to the document'stagsarray). - Each rule defines a condition on a trigger tag and a list of target tags to reveal when the condition is met.
Targets are hidden by default and become visible during signing only when their rule's condition evaluates to true.
Rule Schema
The conditionalRules array lives on each document object:
{
conditions: [ // Required - Currently exactly 1 condition per rule
{
triggerTagId: string // Required - UUID v4 of the trigger tag
operator: string // Required - See operator table below
value?: string // Required only when operator is "exactText"
}
]
logicOperator: "AND" | "OR" // Required - Must be "AND" in the current version
targetTagIds: string[] // Required - 1 to 20 UUID v4 target tag ids
}
Field Reference
| Field | Required | Description |
|---|---|---|
conditions | ✅ | Array of exactly 1 condition (multi-condition rules are not yet supported). |
conditions[].triggerTagId | ✅ | The tagId of the trigger tag. Must exist within the same document. |
conditions[].operator | ✅ | The comparison to evaluate. Valid values depend on the trigger tag type (see below). |
conditions[].value | ⚠️ | Required only when operator is "exactText". The text to match (case-insensitive). |
logicOperator | ✅ | Must be "AND". "OR" and multi-condition logic are reserved for a future version. |
targetTagIds | ✅ | Array of 1–20 target tagId values that become visible when the condition is met. |
Valid Trigger Tag Types & Operators
Only the following tag types can be used as a trigger. The operator must match the trigger type:
| Trigger Tag Type | Valid Operators | value Required? |
|---|---|---|
CHECKHERETAGTEMPLATEANNOTATION | checked, unchecked | No |
RADIOBUTTONTAGTEMPLATEANNOTATION | selected | No |
FREEFORMTEMPLATE | anyText, exactText | Only for exactText |
FREEFORMTEXTTAGTEMPLATEANNOTATION | anyText, exactText | Only for exactText |
Operator meanings:
checked/unchecked— fires when a checkbox is checked / uncheckedselected— fires when a radio button is selectedanyText— fires when the text field contains any non-empty textexactText— fires when the text field exactly matchesvalue(case-insensitive)
While only checkboxes, radio buttons, and free-text fields can be triggers, any tag type can be a target — signatures, initials, dates, full name, email, dropdowns, free text, etc.
Current Version (V1) Constraints
The following constraints are enforced. Violating any of them returns a 400 Bad Request with a descriptive message:
| Constraint | Notes |
|---|---|
| Max 50 rules per document | More than 50 rules on one document is rejected. |
| Exactly 1 condition per rule | Multi-condition (AND/OR) rules are reserved for a future version. |
logicOperator must be "AND" | "OR" is not yet supported. |
| Trigger must exist | triggerTagId must match a tag's tagId in the same document. |
| Trigger must be a valid trigger type | See the trigger types table above. |
| Operator must match trigger type | e.g., selected is only valid for radio buttons. |
exactText requires value | The value field is mandatory for exactText. |
| Targets must exist | Every targetTagId must match a tag's tagId in the same document. |
| Same-signer rule | The trigger and all targets must belong to the same signerId. Exception: signer-less targets (such as a TEXTANNOT without a signerId) are allowed for any trigger. Cross-signer rules are reserved for a future version. |
| Single rule per target | A given target tag can belong to only one rule. |
| No chained rules | A tag used as a target cannot also be a trigger in another rule (no A→B→C chains). |
Unique tagId | Every tagId must be unique within a single document. |
Example — Checkbox Reveals a Signature & Date
In this example, the signature and date fields are hidden until the signer checks the checkbox:
{
"documents": [
{
"id": "doc-uuid-cv",
"StoragePath": "path/to/Agreement.pdf",
"title": "Conditional Agreement",
"sessionType": "esign",
"tags": [
{
"tagId": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e",
"type": "CHECKHERETAGTEMPLATEANNOTATION",
"x": 50,
"y": 200,
"width": 20,
"height": 20,
"page": 0,
"signerId": "signer-uuid-123",
"required": false
},
{
"tagId": "c3d4e5f6-a7b8-4c9d-0e1f-2a3b4c5d6e7f",
"type": "SIGNHERETAGTEMPLATEANNOTATION",
"x": 200,
"y": 100,
"width": 150,
"height": 34,
"page": 0,
"signerId": "signer-uuid-123",
"required": false
},
{
"tagId": "d4e5f6a7-b8c9-4d0e-1f2a-3b4c5d6e7f8a",
"type": "DATETEMPLATE",
"x": 380,
"y": 100,
"width": 100,
"height": 20,
"page": 0,
"signerId": "signer-uuid-123",
"dateFormat": "MM/DD/YYYY"
}
],
"conditionalRules": [
{
"conditions": [
{
"triggerTagId": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e",
"operator": "checked"
}
],
"logicOperator": "AND",
"targetTagIds": [
"c3d4e5f6-a7b8-4c9d-0e1f-2a3b4c5d6e7f",
"d4e5f6a7-b8c9-4d0e-1f2a-3b4c5d6e7f8a"
]
}
]
}
],
"participants": [
{
"id": "signer-uuid-123",
"signerId": "signer-uuid-123",
"firstName": "Jane",
"lastName": "Smith",
"email": "jane.smith@example.com",
"type": "signer"
}
]
}
Example — Free Text "exactText" Trigger
This rule reveals a target only when the signer types exactly California (case-insensitive) into a free-form text field:
{
"conditions": [
{
"triggerTagId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"operator": "exactText",
"value": "California"
}
],
"logicOperator": "AND",
"targetTagIds": ["e5f6a7b8-c9d0-4e1f-2a3b-4c5d6e7f8a9b"]
}
Use the test endpoint to generate a ready-made conditional-rules payload you can inspect or reuse:
GET /transactions/test?conditionalRules=checkbox&return_payload=true
Supported conditionalRules options: checkbox, checkbox-unchecked, radio, freetext, freetext-exacttext, freetext-target, and all (generates every trigger × operator combination). See Create a Test Transaction for details.
Complete Examples
Example 1: Single Signer with Basic Tags
This example shows a simple employment agreement with a signature, date, and printed name:
{
"documents": [
{
"id": "391866a6-8ebb-4533-b6ab-c7bb4d6fbd38",
"StoragePath": "14a00c39-af89-47ee-b26c-f0bc523c270e/EmploymentAgreement.pdf",
"title": "Employment Agreement",
"sessionType": "esign",
"tags": [
{
"type": "SIGNHERETAGTEMPLATEANNOTATION",
"x": 100,
"y": 150,
"width": 150,
"height": 34,
"page": 2,
"signerId": "signer-uuid-123",
"required": true
},
{
"type": "DATETEMPLATE",
"x": 270,
"y": 150,
"width": 100,
"height": 20,
"page": 2,
"signerId": "signer-uuid-123",
"dateFormat": "MM/DD/YYYY"
},
{
"type": "FULLNAMETEMPLATE",
"x": 100,
"y": 190,
"width": 150,
"height": 20,
"page": 2,
"signerId": "signer-uuid-123",
"fontSize": 11
}
]
}
],
"participants": [
{
"id": "signer-uuid-123",
"signerId": "signer-uuid-123",
"firstName": "Jane",
"lastName": "Smith",
"email": "jane.smith@example.com",
"type": "signer"
}
]
}
Example 2: Multiple Signers with Multi-Page Tags
This example shows a sales contract with two signers (buyer and seller) with signatures on different pages:
{
"documents": [
{
"id": "doc-uuid-456",
"StoragePath": "path/to/SalesContract.pdf",
"title": "Sales Contract",
"sessionType": "esign",
"tags": [
{
"type": "SIGNHERETAGTEMPLATEANNOTATION",
"x": 50,
"y": 100,
"width": 150,
"height": 34,
"page": 0,
"signerId": "buyer-uuid",
"required": true
},
{
"type": "FULLNAMETEMPLATE",
"x": 50,
"y": 140,
"width": 150,
"height": 20,
"page": 0,
"signerId": "buyer-uuid"
},
{
"type": "SIGNHERETAGTEMPLATEANNOTATION",
"x": 250,
"y": 100,
"width": 150,
"height": 34,
"page": 0,
"signerId": "seller-uuid",
"required": true
},
{
"type": "FULLNAMETEMPLATE",
"x": 250,
"y": 140,
"width": 150,
"height": 20,
"page": 0,
"signerId": "seller-uuid"
},
{
"type": "INITIALHERETAGTEMPLATEANNOTATION",
"x": 500,
"y": 750,
"width": 60,
"height": 30,
"page": 1,
"signerId": "buyer-uuid"
},
{
"type": "INITIALHERETAGTEMPLATEANNOTATION",
"x": 500,
"y": 700,
"width": 60,
"height": 30,
"page": 1,
"signerId": "seller-uuid"
},
{
"type": "DATETEMPLATE",
"x": 200,
"y": 50,
"width": 100,
"height": 20,
"page": 2,
"dateFormat": "MMMM do, yyyy"
}
]
}
],
"participants": [
{
"id": "buyer-uuid",
"signerId": "buyer-uuid",
"firstName": "John",
"lastName": "Buyer",
"email": "john.buyer@example.com",
"type": "signer"
},
{
"id": "seller-uuid",
"signerId": "seller-uuid",
"firstName": "Mary",
"lastName": "Seller",
"email": "mary.seller@example.com",
"type": "signer"
}
]
}
Example 3: Form with Input Fields
This example demonstrates checkboxes, radio buttons, and text input fields:
{
"documents": [
{
"id": "form-uuid-789",
"StoragePath": "path/to/ApplicationForm.pdf",
"title": "Application Form",
"sessionType": "esign",
"tags": [
{
"type": "FREEFORMTEXTTAGTEMPLATEANNOTATION",
"x": 100,
"y": 400,
"width": 200,
"height": 25,
"page": 0,
"signerId": "applicant-uuid",
"fontSize": 11
},
{
"type": "CHECKHERETAGTEMPLATEANNOTATION",
"x": 100,
"y": 350,
"width": 20,
"height": 20,
"page": 0,
"signerId": "applicant-uuid"
},
{
"type": "RADIOBUTTONTAGTEMPLATEANNOTATION",
"x": 100,
"y": 300,
"width": 20,
"height": 20,
"page": 0,
"signerId": "applicant-uuid"
},
{
"type": "RADIOBUTTONTAGTEMPLATEANNOTATION",
"x": 150,
"y": 300,
"width": 20,
"height": 20,
"page": 0,
"signerId": "applicant-uuid"
},
{
"type": "DROPDOWNTAGTEMPLATEANNOTATION",
"x": 100,
"y": 520,
"width": 150,
"height": 30,
"signerId": "applicant-uuid",
"customData": {
"dropdownOptions": ["Full-time", "Part-time", "Contract"]
}
},
{
"type": "SIGNHERETAGTEMPLATEANNOTATION",
"x": 100,
"y": 100,
"width": 150,
"height": 34,
"page": 0,
"signerId": "applicant-uuid",
"required": true
}
]
}
],
"participants": [
{
"id": "applicant-uuid",
"signerId": "applicant-uuid",
"firstName": "Alex",
"lastName": "Johnson",
"email": "alex.johnson@example.com",
"type": "signer"
}
]
}
Best Practices
Tag Placement and Sizing
Recommended Minimum Sizes:
- Signatures: 150 × 34 points
- Initials: 60 × 30 points
- Checkboxes/Radio buttons: 20 × 20 points
- Dropdowns: Width 150+ points, height 25-35 points
- Text fields: Height 20-30 points, width as needed
- Date fields: 100 × 20 points minimum
Placement Tips:
- Ensure tags don't overlap existing document content
- Leave adequate spacing between tags (at least 10 points)
- Align related tags horizontally or vertically for a clean appearance
- Test on actual PDFs to verify positioning
Required Fields
Use the required: true property for critical fields that must be completed:
{
"type": "SIGNHERETAGTEMPLATEANNOTATION",
"required": true,
// ... other properties
}
Guidelines:
- Mark signature fields as required
- Balance required vs optional fields for better user experience
- Consider making date fields required alongside signatures
Working with Multiple Signers
When your document has multiple signers:
- Assign unique UUIDs to each participant
- Clearly assign tags using the
signerIdproperty - Consider signing order in your workflow
- Group related tags visually on the document
- Test the experience from each signer's perspective
Coordinate Calculation Tips
Finding Coordinates:
- Use a PDF viewer that displays cursor coordinates
- Remember the origin is at bottom-left (0, 0)
- If your tool shows top-left origin, subtract from page height
- Test with a few tags first before placing many
Common Pitfalls:
- ❌ Forgetting about the bottom-left origin
- ❌ Using negative coordinates
- ❌ Placing tags outside page boundaries
- ❌ Using incorrect page numbers (remember: 0-indexed!)
Integration with API
Creating a Transaction with Tags
Use the POST /transactions endpoint with your tags defined in the documents array:
curl -X POST "https://api.sign.stewart.com/transactions" \
-H "Authorization: Bearer <your_token>" \
-H "Content-Type: application/json" \
-d '{
"documents": [{
"id": "doc-uuid",
"StoragePath": "path/to/document.pdf",
"title": "Contract",
"sessionType": "esign",
"tags": [
{
"type": "SIGNHERETAGTEMPLATEANNOTATION",
"x": 100,
"y": 150,
"width": 150,
"height": 34,
"page": 0,
"signerId": "signer-uuid",
"required": true
}
]
}],
"participants": [{
"id": "signer-uuid",
"signerId": "signer-uuid",
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com",
"type": "signer"
}]
}'
For a complete guide, see Create Your First eSignature Transaction.
Troubleshooting
Common Errors
Invalid UUID Format:
// ❌ Incorrect
"signerId": "123"
// ✅ Correct
"signerId": "cb08d3ad-6199-465d-88c0-e73d96c50c54"
Page Number Issues:
// ❌ Incorrect (pages are 0-indexed)
"page": 1 // This is the SECOND page
// ✅ Correct (first page)
"page": 0
Coordinates Out of Bounds:
// ❌ Tag extends beyond page width
{
"x": 500,
"width": 200, // If page is 612 points wide, this extends beyond
"page": 0
}
// ✅ Tag fits within page
{
"x": 400,
"width": 150,
"page": 0
}
Mismatched Signer IDs:
// ❌ Tag references non-existent participant
{
"signerId": "wrong-uuid", // Not in participants array
// ...
}
// ✅ Tag references existing participant
{
"signerId": "cb08d3ad-6199-465d-88c0-e73d96c50c54", // Matches participant
// ...
}
Validation Checklist
Before submitting your transaction, verify:
- All participant
signerIdvalues are valid UUIDs - All tag
signerIdvalues match a participant'ssignerId - Page numbers are 0-indexed and within document range
- All coordinates (x, y) are positive numbers
- Width and height values are positive
- Required tags include
required: true - Date tags specify a valid
dateFormat(if not using default) - Font sizes are at least 9 (if specified)
- Dropdown tags have at least one option in
dropdownOptions - Dropdown tags are wide enough to display option text (≥ 150 points recommended)
If using Conditional Visibility Rules, also verify:
- Your organization has the
ENABLE_CONDITIONAL_VISIBILITYfeature enabled - Every trigger and target tag has a unique
tagId(UUID v4) - Each rule has exactly 1 condition and
logicOperator: "AND" - Trigger tags are checkboxes, radio buttons, or free-text fields
- Each operator matches its trigger type (e.g.,
selectedonly for radio buttons) -
exactTextconditions include avalue - Trigger and all targets share the same
signerId(or the target is signer-less) - No target
tagIdappears in more than one rule - No target tag is also used as a trigger (no chained rules)
- No document has more than 50 rules
Quick Reference
Complete TagType Enum
enum TagType {
// Signature & Initials
SIGNHERETAGTEMPLATEANNOTATION // Signature field
INITIALHERETAGTEMPLATEANNOTATION // Initials field
// Text & Names
FULLNAMETEMPLATE // Auto-filled full name
EMAILTEMPLATE // Auto-filled email address
TEXTANNOT // Static text annotation
FREEFORMTEXTTAGTEMPLATEANNOTATION // Fillable text field (CV trigger)
FREEFORMTEMPLATE // Fillable text field (CV trigger)
// Dates
DATETEMPLATE // Signing date
// Inputs
CHECKHERETAGTEMPLATEANNOTATION // Checkbox (CV trigger)
RADIOBUTTONTAGTEMPLATEANNOTATION // Radio button (CV trigger)
DROPDOWNTAGTEMPLATEANNOTATION // Dropdown selection menu
}
Tag types marked (CV trigger) can be used as the trigger of a Conditional Visibility Rule. Any tag type may be used as a target.
💬 Need Help?
Contact the Stewart Sign Support Team for technical assistance or integration guidance.