# Form tagging elements — cheat sheet

Companion to [KNOWLEDGE-SIGNiX-FOR-AI-AGENTS.md](./KNOWLEDGE-SIGNiX-FOR-AI-AGENTS.md). Use this when emitting SubmitDocument **Form** children. Authority: [Flex SubmitDocument](https://www.signix.com/apidocumentation#SubmitDocument), [Text Tagging](https://www.signix.com/api-text-tagging), [Coordinate-based tagging](https://www.signix.com/coordinate-based-tagging).

**Shared rules**

- One tagging approach **per Form** (do not mix AcroForm lines with FixedPositioning\* on the same Form unless Flex explicitly allows it).
- **`MimeType`** is always `application/pdf`.
- Emit **non-signature / date / seal / text fields first**, then **signature / initial** elements (text-tag and fixed-positioning docs require this).
- **`Type`** is the element name for field kind—not `FieldType`.
- Party assignment (**`MemberInfoNumber`**) lives on the **signature/initial** (or AcroForm **`SignatureLine`**), **not** on standalone date/text/checkbox/seal field blocks.
- A date attaches to a signature by declaring a field with a **`TagName`**, then referencing that name from the signature via **`DateSignedTagName`** (same idea for **`NotarySealTagName`** / editable fields).

---

## Comparison (who gets which children)

| Concern | AcroForm | Text tags | Fixed positioning |
|---------|----------|-----------|-------------------|
| Non-signature / date / seal / text block | PDF already has named fields; referenced from the line | **`TextTagField`** | **`FixedPositioningField`** |
| Signature / initial block | **`SignatureLine`** | **`TextTagSignature`** | **`FixedPositioningSignature`** |
| Party (`MemberInfoNumber`) | On **`SignatureLine`** | On **`TextTagSignature`** only | On **`FixedPositioningSignature`** only |
| Field kind element | N/A (PDF field name) | **`Type`** on TextTagField (`DateSigned`, `TextField`, `checkbox`, `NotarySeal`, …) | **`Type`** on FixedPositioningField / Signature (`DateSigned`, `TextField`, `Checkbox`, `NotarySeal`, … / `signature` \| `initial`) |
| Placement | PDF widget geometry | **`AnchorText`** + **`AnchorXOffset`** / **`AnchorYOffset`** + size | **`Page`** + **`XPosition`** / **`YPosition`** + size (see coordinate rules in knowledge file) |
| Internal name on field | PDF `/T` name | **`TagName`** on TextTagField | **`TagName`** on FixedPositioningField |
| Link date → signature | **`DateSignedField`** (+ optional **`DateSignedFormat`**) on SignatureLine | **`DateSignedTagName`** (+ optional **`DateSignedFormat`**) on TextTagSignature | **`DateSignedTagName`** on FixedPositioningSignature |
| Link seal → signature | Per Flex notarization / SignField patterns | **`NotarySealTagName`** on TextTagSignature | **`NotarySealTagName`** on FixedPositioningSignature |
| Link other inputs → signature | Cover / related field patterns in Flex docs | **`EditableFieldTagName`** (repeatable) on signature | **`EditableFieldTagName`** (repeatable) on signature |

**Do not put `MemberInfoNumber` on `TextTagField` or `FixedPositioningField`.** That produces schema errors such as *Invalid content… One of 'Type' is expected* / unexpected `MemberInfoNumber`.

---

## Minimal examples (child order)

### AcroForm — `SignatureLine`

```xml
<SignatureLine>
  <MemberInfoNumber>1</MemberInfoNumber>
  <SignField>ApplicantSignature</SignField>
  <DateSignedField>ApplicantDate</DateSignedField>
  <DateSignedFormat>MM/dd/yy</DateSignedFormat>
</SignatureLine>
```

`SignField` / `DateSignedField` values must match PDF AcroForm field names exactly.

### Text tags — field then signature

```xml
<TextTagField>
  <Type>DateSigned</Type>
  <AnchorText>%date1%</AnchorText>
  <AnchorXOffset>0</AnchorXOffset>
  <AnchorYOffset>0</AnchorYOffset>
  <Width>80</Width>
  <Height>20</Height>
  <IsRequired>yes</IsRequired>
  <TagName>DateField1</TagName>
</TextTagField>
<TextTagSignature>
  <MemberInfoNumber>1</MemberInfoNumber>
  <AnchorText>%sig1%</AnchorText>
  <AnchorXOffset>0</AnchorXOffset>
  <AnchorYOffset>0</AnchorYOffset>
  <Width>144</Width>
  <Height>36</Height>
  <IsRequired>yes</IsRequired>
  <DateSignedTagName>DateField1</DateSignedTagName>
  <DateSignedFormat>MM/dd/yy</DateSignedFormat>
</TextTagSignature>
```

### Fixed positioning — field then signature

```xml
<FixedPositioningField>
  <Type>DateSigned</Type>
  <Page>1</Page>
  <XPosition>150</XPosition>
  <YPosition>500</YPosition>
  <Width>120</Width>
  <Height>30</Height>
  <IsRequired>yes</IsRequired>
  <TagName>DateField1</TagName>
</FixedPositioningField>
<FixedPositioningSignature>
  <MemberInfoNumber>1</MemberInfoNumber>
  <Type>signature</Type>
  <Page>1</Page>
  <XPosition>150</XPosition>
  <YPosition>450</YPosition>
  <Width>144</Width>
  <Height>36</Height>
  <IsRequired>yes</IsRequired>
  <DateSignedTagName>DateField1</DateSignedTagName>
</FixedPositioningSignature>
```

---

## Quick “which element?” checklist

| You need… | Emit… |
|-----------|--------|
| A date box (text or fixed) | `*Field` with `Type` = `DateSigned` + `TagName` — **no** `MemberInfoNumber` |
| A signature for party *n* | `*Signature` / `SignatureLine` starting with `MemberInfoNumber` = *n* |
| Auto-fill that date when they sign | On the signature: `DateSignedTagName` = that field’s `TagName` |
| Notary seal box | `*Field` with `Type` = `NotarySeal` + `TagName`; link from notary signature via `NotarySealTagName` |
| Guessed name `FieldType` | Wrong — use **`Type`** |

For full Type enums, optional cover fields, and multi-party samples, use the official tagging pages linked above—not invented synonyms from other e-sign products.
