# FormAnnex

Attachment slot definitions for forms

Canonical URL: https://docs.paradoc.dev/schemas/artifacts/form/annex/

FormAnnex defines a placeholder for supplementary documents to be attached at runtime. Annexes can be required or optional, and their visibility can be controlled by logic expressions.

## Properties

Annexes are defined as a `Record<string, FormAnnex>` where the key is the annex identifier.

| Name | Type | Description |
| --- | --- | --- |
| `title?` | `string` | Title for the annex slot |
| `description?` | `string` | Description of what document should be attached |
| `required?` | `boolean \| string` | Whether required. Can be boolean or expression |
| `visible?` | `boolean \| string` | Whether visible. Can be boolean or expression |
| `order?` | `number` | Display order for rendering |

## Examples



**YAML**

```yaml
fields:
  isEmployed:
    type: boolean
annexes:
  governmentId:
    title: Government-Issued ID
    description: Copy of passport, driver's license, or state ID
    required: true
    order: 1

  proofOfIncome:
    title: Proof of Income
    description: Recent pay stubs (last 2 months)
    required: "fields.isEmployed"
    visible: "fields.isEmployed"
    order: 2
```

**JSON**

```json
{
  "fields": {
    "isEmployed": { "type": "boolean" }
  },
  "annexes": {
    "governmentId": {
      "title": "Government-Issued ID",
      "description": "Copy of passport, driver's license, or state ID",
      "required": true,
      "order": 1
    },
    "proofOfIncome": {
      "title": "Proof of Income",
      "description": "Recent pay stubs (last 2 months)",
      "required": "fields.isEmployed",
      "visible": "fields.isEmployed",
      "order": 2
    }
  }
}
```

## Related

* [Form](/schemas/artifacts/form) - Form artifact overview
* [Attachment](/schemas/primitives/attachment) - Runtime attachment data
