{"id":"abb4ce1a-77fb-466b-bfcc-08427ddc93e8","entityType":"agent","slug":"clawhub-docuseal-docuseal","name":"docuseal-cli","canonicalUrl":"https://www.xpersona.co/agent/clawhub-docuseal-docuseal","canonicalPath":"/agent/clawhub-docuseal-docuseal","generatedAt":"2026-10-10T13:40:23.874Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:29:38.688Z","emptyReason":null},"description":"Manage DocuSeal e-signature workflows from the terminal via the DocuSeal CLI - create templates from PDF/DOCX/HTML, send documents for signing, track submissions, and update submitters. Use when the user wants to run DocuSeal commands in the shell, scripts, or CI/CD pipelines. Always load this skill","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.5K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s172v55q3cnxkenshvezrc4rh18axneg:docuseal","sourceUrl":"https://clawhub.ai/docuseal/docuseal","homepage":"https://clawhub.ai/docuseal/skills/docuseal","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/docuseal/docuseal","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/docuseal/skills/docuseal","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":63,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"docuseal-cli technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:29:38.688Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:29:38.688Z","emptyReason":null},"stars":null,"forks":null,"downloads":1495,"packageName":null,"latestVersion":"1.0.8","tractionLabel":"1.5K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:29:38.688Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T10:29:38.688Z","lastCrawledAt":"2026-10-10T10:29:38.688Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T10:29:38.688Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.8","createdAt":"2026-09-03T17:20:25.658Z","changelog":"- Added hermes tags for improved skill categorization and discoverability. - Declared required_environment_variables with prompts and help text for clearer setup. - Updated version to 1.0.8 in metadata. - Removed sample file: skill-card.md.","fileCount":9,"zipByteSize":14293},{"version":"1.0.7","createdAt":"2026-07-17T18:05:14.289Z","changelog":"- Bumped skill version to 1.0.7. - Removed the file skill-card.md. - No changes made to CLI commands or usage instructions.","fileCount":9,"zipByteSize":14027},{"version":"1.0.6","createdAt":"2026-06-12T16:52:16.662Z","changelog":"- Updated skill metadata version to 1.0.6. - Changed the repository source URL under metadata. - Added a new \"Security\" section explaining input handling and server-side processing. - Removed the sample file skill-card.md.","fileCount":9,"zipByteSize":13887},{"version":"1.0.5","createdAt":"2026-04-06T21:18:58.198Z","changelog":"- Bumped skill version from 1.0.4 to 1.0.5 in metadata. - No functionality or documentation changes detected.","fileCount":9,"zipByteSize":13711},{"version":"1.0.4","createdAt":"2026-04-06T19:19:53.798Z","changelog":"- CLI skill refactored and renamed to \"docuseal-cli\" for more precise, terminal-based workflows. - Major documentation and protocol update: clearer environment variable usage (DOCUSEAL_API_KEY, DOCUSEAL_SERVER), installation steps, command syntax, and common usage patterns. - Added comprehensive references for templates, submissions, submitters, DOCX variables, field tags, and HTML fields. - Removed Node.js script instructions (previously scripts/cli.js), focusing on shell CLI usage. - All commands now require explicit flags and inputs; includes troubleshooting for common mistakes with bracket/JSON notation for complex parameters.","fileCount":8,"zipByteSize":12324},{"version":"1.0.3","createdAt":"2026-03-19T13:58:03.698Z","changelog":"- Added scripts/config.js for improved configuration management. - Updated scripts/cli.js to support the new configuration file. - No user-facing changes to SKILL.md or main functionality.","fileCount":4,"zipByteSize":2913},{"version":"1.0.2","createdAt":"2026-03-11T17:52:20.305Z","changelog":"- Removed the `ping` command from CLI usage. - Simplified the `create-template` command: now only supports document upload via URL (base64 file upload removed). - Updated documentation to reflect changes in supported commands and their options. - Minor clarifications and cleanup in the SKILL.md notes.","fileCount":3,"zipByteSize":2674},{"version":"1.0.1","createdAt":"2026-03-11T16:38:18.955Z","changelog":"Minor update with metadata improvements and additional security note. - Bumped version to 1.0.1 in metadata. - Added credential field to metadata for MCP token. - Appended security note: warns about base64 file content possibly appearing in shell history and process lists; recommends mitigations.","fileCount":3,"zipByteSize":2948}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s172v55q3cnxkenshvezrc4rh18axneg:docuseal","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s172v55q3cnxkenshvezrc4rh18axneg:docuseal` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/docuseal/docuseal before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-docuseal-docuseal/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-docuseal-docuseal/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-docuseal-docuseal/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-docuseal-docuseal/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-docuseal-docuseal/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-docuseal-docuseal/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T13:40:23.872Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-docuseal-docuseal/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-docuseal-docuseal/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-docuseal-docuseal/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-docuseal-docuseal/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:29:38.688Z","emptyReason":null},"readme":"Skill: docuseal-cli\n\nOwner: docuseal\n\nSummary: Manage DocuSeal e-signature workflows from the terminal via the DocuSeal CLI - create templates from PDF/DOCX/HTML, send documents for signing, track submissions, and update submitters. Use when the user wants to run DocuSeal commands in the shell, scripts, or CI/CD pipelines. Always load this skill\n\nTags: latest:1.0.8\n\nVersion history:\n\nv1.0.8 | 2026-09-03T17:20:25.658Z | user\n\n- Added hermes tags for improved skill categorization and discoverability.\n- Declared required_environment_variables with prompts and help text for clearer setup.\n- Updated version to 1.0.8 in metadata.\n- Removed sample file: skill-card.md.\n\nv1.0.7 | 2026-07-17T18:05:14.289Z | user\n\n- Bumped skill version to 1.0.7.\n- Removed the file skill-card.md.\n- No changes made to CLI commands or usage instructions.\n\nv1.0.6 | 2026-06-12T16:52:16.662Z | user\n\n- Updated skill metadata version to 1.0.6.\n- Changed the repository source URL under metadata.\n- Added a new \"Security\" section explaining input handling and server-side processing.\n- Removed the sample file skill-card.md.\n\nv1.0.5 | 2026-04-06T21:18:58.198Z | user\n\n- Bumped skill version from 1.0.4 to 1.0.5 in metadata.\n- No functionality or documentation changes detected.\n\nv1.0.4 | 2026-04-06T19:19:53.798Z | user\n\n- CLI skill refactored and renamed to \"docuseal-cli\" for more precise, terminal-based workflows.\n- Major documentation and protocol update: clearer environment variable usage (DOCUSEAL_API_KEY, DOCUSEAL_SERVER), installation steps, command syntax, and common usage patterns.\n- Added comprehensive references for templates, submissions, submitters, DOCX variables, field tags, and HTML fields.\n- Removed Node.js script instructions (previously scripts/cli.js), focusing on shell CLI usage.\n- All commands now require explicit flags and inputs; includes troubleshooting for common mistakes with bracket/JSON notation for complex parameters.\n\nv1.0.3 | 2026-03-19T13:58:03.698Z | auto\n\n- Added scripts/config.js for improved configuration management.\n- Updated scripts/cli.js to support the new configuration file.\n- No user-facing changes to SKILL.md or main functionality.\n\nv1.0.2 | 2026-03-11T17:52:20.305Z | auto\n\n- Removed the `ping` command from CLI usage.\n- Simplified the `create-template` command: now only supports document upload via URL (base64 file upload removed).\n- Updated documentation to reflect changes in supported commands and their options.\n- Minor clarifications and cleanup in the SKILL.md notes.\n\nv1.0.1 | 2026-03-11T16:38:18.955Z | auto\n\nMinor update with metadata improvements and additional security note.\n\n- Bumped version to 1.0.1 in metadata.\n- Added credential field to metadata for MCP token.\n- Appended security note: warns about base64 file content possibly appearing in shell history and process lists; recommends mitigations.\n\nv1.0.0 | 2026-03-11T16:34:04.633Z | auto\n\n- Replaced usage references from scripts/mcp.js to scripts/cli.js in documentation and examples.\n- Added scripts/cli.js and removed scripts/mcp.js to reflect the new CLI entry point.\n- Fixed typo in metadata: \"requiress\" corrected to \"requires\".\n\nv0.1.1 | 2026-03-11T15:40:59.276Z | auto\n\n- No changes detected in this release.  \n- Skill version incremented to 0.1.1 without modifications to content or functionality.\n\nv0.1.0 | 2026-03-09T09:37:17.681Z | auto\n\nInitial release of the DocuSeal skill.\n\n- Manage DocuSeal document templates and e-signatures via MCP endpoint.\n- Provides CLI script for searching, creating templates, sending documents, and searching documents.\n- Requires environment variables DOCUSEAL_URL and DOCUSEAL_MCP_TOKEN.\n- All interactions use JSON-RPC 2.0 over HTTP POST.\n- Supports Node.js 18+ with no external dependencies.\n\nArchive index:\n\nArchive v1.0.8: 9 files, 14293 bytes\n\nFiles: references/docx-variables.md (2395b), references/field-tags.md (3718b), references/html-fields.md (5456b), references/submissions.md (11466b), references/submitters.md (2270b), references/templates.md (7765b), skill-card.md (2888b), SKILL.md (5550b), _meta.json (127b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: docuseal-cli\ndescription: >\n  Manage DocuSeal e-signature workflows from the terminal via the DocuSeal CLI -\n  create templates from PDF/DOCX/HTML, send documents for signing, track submissions,\n  and update submitters. Use when the user wants to run DocuSeal commands in the shell,\n  scripts, or CI/CD pipelines. Always load this skill before running `docuseal` commands.\nlicense: MIT\nmetadata:\n  author: DocuSeal\n  version: \"1.0.8\"\n  homepage: https://www.docuseal.com\n  source: https://github.com/docusealco/docuseal-cli\n  openclaw:\n    emoji: \"📝\"\n    requires:\n      env:\n        - DOCUSEAL_API_KEY\n        - DOCUSEAL_SERVER\n      bins:\n        - docuseal\n      primaryEnv: DOCUSEAL_API_KEY\n    install:\n      - id: npm\n        kind: npm\n        package: docuseal\n        bins:\n          - docuseal\n        label: Install DocuSeal CLI (npm)\n  hermes:\n    tags:\n      - DocuSeal\n      - E-signature\n      - Documents\n      - PDF\n      - CLI\nrequired_environment_variables:\n  - name: DOCUSEAL_API_KEY\n    prompt: DocuSeal API key (global, EU, or self-hosted account)\n    help: \"Get it at https://console.docuseal.com/api (global), https://console.docuseal.eu/api (EU), or https://<your-domain>/api (self-hosted). Overrides the key saved by `docuseal configure` in ~/.config/docuseal/credentials.json.\"\n    required_for: authenticating the docuseal CLI\n  - name: DOCUSEAL_SERVER\n    prompt: DocuSeal server - global, europe, or self-hosted URL (leave empty for global)\n    help: \"Optional. Use global (docuseal.com), europe (docuseal.eu), or https://<your-domain> for self-hosted. Overrides the server saved by `docuseal configure` in ~/.config/docuseal/credentials.json; the CLI falls back to global only when neither is set.\"\n    required_for: selecting the DocuSeal region or self-hosted server\n    optional: true\n---\n\n## Agent Protocol\n\n**Rules for agents:**\n- Supply ALL required flags — the CLI will not prompt for missing parameters.\n- Output is always JSON.\n- Use `-d key=value` (bracket notation) or `-d '{\"..\": \"..\"}'` (JSON) for body and array parameters.\n\n## Authentication\n\nSet environment variables:\n- `DOCUSEAL_API_KEY` — API key (required). Get yours at https://console.docuseal.com/api\n- `DOCUSEAL_SERVER` — `global` (default), `europe`, or full URL for self-hosted (e.g. `https://docuseal.yourdomain.com`)\n\n## Available Commands\n\n| Command Group | What it does |\n|---|---|\n| `templates` | list, retrieve, update, archive, create-pdf, create-docx, create-html, clone, merge, update-documents |\n| `submissions` | list, retrieve, update, archive, create, send-emails, create-pdf, create-docx, create-html, documents |\n| `submitters` | list, retrieve, update |\n\nRead the matching reference file for detailed flags and examples.\n\n## Common Mistakes\n\n| # | Mistake | Fix |\n|---|---|---|\n| 1 | **Forgetting `-d template_id=<id>` on `submissions create`** | `--template-id` is a flag; submitters and other body params go via `-d` |\n| 2 | **Passing a plain file path as a URL** | `--file` accepts a local path; for remote files use `-d \"documents[0][file]=https://...\"` |\n| 3 | **Expecting array params as comma-separated** | Arrays use bracket notation: `-d \"template_ids[]=1\"` `-d \"template_ids[]=2\"` |\n| 4 | **Using `templates create-pdf` without a Pro plan** | Commands marked _(Pro)_ require a DocuSeal Pro subscription |\n| 5 | **Sending to multiple recipients with `submissions create`** | Use `submissions send-emails --emails a@b.com,c@d.com` for bulk; `submissions create` is per-submitter |\n\n## Security\n\nThe CLI accepts user-provided file paths, remote URLs (`documents[0][file]=https://...`), and HTML content as template input. This is by design — all content originates from the authenticated user and is sent directly to the DocuSeal API over HTTPS. The CLI does not fetch, render, or execute remote content locally; it passes references to the server for processing. No user input is interpolated into shell commands.\n\n## Common Patterns\n\n**List templates:**\n```bash\ndocuseal templates list --q \"NDA\" --limit 20\n```\n\n**Create a template from a PDF and send for signing:**\n```bash\ndocuseal templates create-pdf --file contract.pdf --name \"NDA\"\ndocuseal submissions send-emails --template-id 1001 --emails signer@example.com\n```\n\n**Create a submission with pre-filled fields (bracket notation):**\n```bash\ndocuseal submissions create --template-id 1001 \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"submitters[0][values][Company Name]=Acme Corp\"\n```\n\n**Create a submission with pre-filled fields (JSON):**\n```bash\ndocuseal submissions create --template-id 1001 \\\n  -d '{\"submitters\": [{\"email\": \"john@acme.com\", \"values\": {\"Company Name\": \"Acme Corp\"}}]}'\n```\n\n**Check signing status:**\n```bash\ndocuseal submissions list --template-id 1001 --status pending\n```\n\n**Update a submitter:**\n```bash\ndocuseal submitters update 201 --email new@acme.com --send-email\n```\n\n## When to Load References\n\n- **Creating or managing templates** → [references/templates.md](references/templates.md)\n- **Sending documents for signing or tracking status** → [references/submissions.md](references/submissions.md)\n- **Using dynamic content variables in DOCX** → [references/docx-variables.md](references/docx-variables.md)\n- **Embedding field tags in PDF/DOCX** → [references/field-tags.md](references/field-tags.md)\n- **Writing HTML templates with field tags** → [references/html-fields.md](references/html-fields.md)\n- **Listing or updating signers** → [references/submitters.md](references/submitters.md)\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn78xdk1k8ykt39nqmweh0q729825c5t\",\n  \"slug\": \"docuseal\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1788456025658\n}\n\nFile v1.0.8:references/docx-variables.md\n\n# DOCX Dynamic Content Variables\n\nDocuSeal supports dynamic content variables in DOCX templates. Variables are replaced with provided values when creating a submission via `submissions create-docx` using the `-d \"variables[key]=value\"` syntax.\n\nFull guide: https://www.docuseal.com/guides/use-dynamic-content-variables-in-docx-to-create-personalized-documents\n\n## Syntax\n\nVariables use double-bracket notation: `[[variable_name]]`\n\n## Simple Variables\n\n```\n[[signer_name]]\n[[company_name]]\n[[contract_date]]\n```\n\nReplaced with the corresponding value passed via `variables`.\n\n## Conditional Logic\n\n**If:**\n```\n[[if:is_vip]] Thank you for being a valued VIP customer! [[end]]\n```\n\n**If/else:**\n```\n[[if:is_vip]] Thank you for being a valued VIP customer! [[else]] Thank you for being our customer. [[end:is_vip]]\n```\n\nThe condition variable is a boolean.\n\n## Loops\n\nIterate over arrays using `[[for:array_name]]`:\n\n```\n[[for:items]] - [[item.name]] ([[item.quantity]]) [[end]]\n```\n\nTable rows:\n```\n[[for:invoices]]\n| [[invoice.name]] | [[invoice.quantity]] | [[invoice.price]] | [[invoice.total]] |\n[[end]]\n```\n\nInside the loop, access properties via singular dot notation: `items` array → `item.name`.\n\n## HTML Content Variables\n\nVariable values can contain styled HTML rendered directly in the DOCX:\n\n**Paragraphs:**\n```html\n<p><b style=\"color: #1976D2; text-decoration: underline;\">Bold blue text</b> normal text.</p>\n```\n\n**Lists:**\n```html\n<ul>\n  <li>Item one</li>\n  <li>Item two</li>\n</ul>\n```\n\n**Tables:**\n```html\n<table border=\"1\" style=\"border-collapse: collapse;\">\n  <tr><th style=\"padding: 8px;\"><b>Item</b></th><th><b>Price</b></th></tr>\n  <tr><td style=\"padding: 8px;\">Widget</td><td>$50</td></tr>\n</table>\n```\n\n**Links:**\n```html\n<a href=\"https://example.com\" style=\"color: #1976D2;\">Example Link</a>\n```\n\n## Using with CLI\n\n```bash\n# Simple variables\ndocuseal submissions create-docx --file contract.docx \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"variables[signer_name]=John Doe\" \\\n  -d \"variables[company_name]=Acme Corp\"\n\n# Boolean for conditionals\ndocuseal submissions create-docx --file contract.docx \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"variables[is_vip]=true\"\n\n# HTML content\ndocuseal submissions create-docx --file contract.docx \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d 'variables[description]=<p><b>Important</b> details here.</p>'\n```\n\nFile v1.0.8:references/field-tags.md\n\n# PDF / DOCX Field Tags\n\nDocuSeal uses embedded text tags in PDF and DOCX documents to define fillable fields. Tags are placed directly in the document text and are automatically detected when uploaded via `templates create-pdf`, `templates create-docx`, `submissions create-pdf`, or `submissions create-docx`.\n\nFull guide: https://www.docuseal.com/guides/use-embedded-text-field-tags-in-the-pdf-to-create-a-fillable-form\n\n## Syntax\n\nTags use double curly braces. Attributes are separated by semicolons:\n\n```\n{{Field Name}}\n{{Field Name;type=signature}}\n{{Field Name;type=date;role=First Party;required=true}}\n```\n\n## Field Types\n\n| Type | Description |\n|---|---|\n| `text` | Text input (default) |\n| `signature` | Signature capture |\n| `initials` | Initials capture |\n| `date` | Date picker |\n| `datenow` | Auto-filled signing date (read-only) |\n| `image` | Image upload |\n| `file` | File upload |\n| `payment` | Payment field |\n| `stamp` | Document stamp |\n| `select` | Dropdown menu |\n| `checkbox` | Boolean checkbox |\n| `multiple` | Multiple selection |\n| `radio` | Radio button |\n| `phone` | Phone number (2FA) |\n| `verification` | Identity verification |\n| `kba` | Knowledge-based authentication |\n\n## Attributes\n\n| Attribute | Description |\n|---|---|\n| `name` | Field name (the text before the first `;`) |\n| `type` | Field type (default: `text`) |\n| `role` | Signer role for multi-party signing |\n| `default` | Pre-filled value |\n| `required` | Required field (`true` by default) |\n| `readonly` | Prevent editing (`false` by default) |\n| `title` | Display label in signing UI |\n| `description` | Help text in signing UI |\n| `options` | Comma-separated values for select/radio/multiple |\n| `option` | Single option value for radio buttons |\n| `condition` | Conditional visibility: `FieldName:value` |\n| `width` | Width in pixels |\n| `height` | Height in pixels |\n| `hidden` | Hide field (`true`/`false`) |\n| `mask` | Mask sensitive data (`true`/`false`) |\n\n## Text Formatting\n\n| Attribute | Values |\n|---|---|\n| `font` | `Times`, `Helvetica`, `Courier` |\n| `font_size` | Numeric value |\n| `font_type` | `bold`, `italic`, `bold_italic` |\n| `color` | `blue`, `red`, `black` (default) |\n| `align` | `left`, `center`, `right` |\n| `valign` | `top`, `center`, `bottom` |\n\n## Type-Specific Attributes\n\n| Attribute | Applies to | Values |\n|---|---|---|\n| `format` | date | `DD/MM/YYYY`, `MM/DD/YYYY` (default) |\n| `format` | signature | `drawn`, `typed`, `drawn_or_typed` (default), `upload` |\n| `format` | number | `usd`, `eur`, `gbp` |\n| `min` / `max` | date, number | Min/max allowed value |\n| `method` | verification | `aes`, `qes` |\n\n## Examples\n\n**Basic fields:**\n```\n{{Full Name}}\n{{Email;title=Email Address}}\n{{Sign;type=signature}}\n{{Date;type=date;format=DD/MM/YYYY}}\n{{Today;type=datenow}}\n```\n\n**Multi-role signing:**\n```\n{{Landlord Name;role=Landlord}}\n{{Landlord Sign;type=signature;role=Landlord}}\n{{Tenant Name;role=Tenant}}\n{{Tenant Sign;type=signature;role=Tenant}}\n```\n\n**Selection fields:**\n```\n{{Department;type=select;options=Engineering,Sales,Marketing,HR}}\n{{Priority;type=radio;option=Low}}\n{{Priority;type=radio;option=Medium}}\n{{Priority;type=radio;option=High}}\n{{type=checkbox}} I agree to the terms\n```\n\n**Conditional fields:**\n```\n{{Agree;type=checkbox}}\n{{Details;condition=Agree:true}}\n```\n\n**Using with CLI:**\n```bash\ndocuseal templates create-pdf --file contract.pdf --name \"Contract\"\ndocuseal templates create-docx --file contract.docx --name \"Contract\"\ndocuseal submissions create-pdf --file contract.pdf \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"submitters[0][role]=Tenant\"\n```\n\n## Resources\n\n- Example PDF with field tags: https://www.docuseal.com/examples/fieldtags.pdf\n\nFile v1.0.8:references/html-fields.md\n\n# HTML Field Tags\n\nDocuSeal uses custom HTML tags to define fillable fields in templates. These tags can be used in `--html` or `--file` values for `templates create-html` and `submissions create-html` commands.\n\nFull guide: https://www.docuseal.com/guides/create-pdf-document-fillable-form-with-html-api\n\n## Available Tags\n\n| Tag | Purpose |\n|---|---|\n| `<text-field>` | Text input |\n| `<signature-field>` | Signature capture |\n| `<date-field>` | Date picker |\n| `<image-field>` | Image upload |\n| `<initials-field>` | Initials capture |\n| `<phone-field>` | Phone number input |\n| `<stamp-field>` | Document stamp |\n| `<file-field>` | File attachment |\n| `<checkbox-field>` | Boolean checkbox |\n| `<radio-field>` | Single option selection |\n| `<select-field>` | Dropdown menu |\n| `<multi-select-field>` | Multiple selection dropdown |\n| `<payment-field>` | Payment processing |\n| `<verification-field>` | Identity verification |\n\n## Common Attributes\n\nAll tags support:\n\n| Attribute | Description |\n|---|---|\n| `name` | Field identifier (required) |\n| `role` | Signer role assignment |\n| `default` | Pre-filled value |\n| `required` | Required field, `true` by default |\n| `readonly` | Prevent editing by signer |\n| `title` | Display label |\n| `description` | Help text shown to signer |\n| `condition` | Conditional visibility, e.g. `\"Status:active\"` |\n| `style` | CSS styling for field size and placement. Set `width` and `height` so the field renders on the page. |\n\n**Important:** HTML field tags should usually include a `style` attribute with at least `width` and `height`. Without explicit dimensions, the rendered field can collapse and not appear where you expect in the document. For inline fields, `display: inline-block` is commonly used.\n\n## Style Examples\n\nUse `style=\"\"` to control field size and layout:\n\n```html\n<text-field name=\"Full Name\" role=\"Tenant\" style=\"width: 160px; height: 20px; display: inline-block;\"></text-field>\n<signature-field name=\"Tenant Signature\" role=\"Tenant\" style=\"width: 160px; height: 80px; display: inline-block;\"></signature-field>\n```\n\n## Text Formatting Attributes\n\n| Attribute | Values |\n|---|---|\n| `font` | `Times`, `Helvetica`, `Courier` |\n| `font-size` | Numeric value |\n| `font-type` | `bold`, `italic`, `bold_italic` |\n| `color` | `blue`, `red`, `black` (default) |\n| `align` | `left`, `center`, `right` |\n| `valign` | `top`, `center`, `bottom` |\n| `mask` | `true` / `false` (hide sensitive data) |\n\n## Type-Specific Attributes\n\n**`<select-field>`, `<multi-select-field>`, `<radio-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `options` | Comma-separated list: `\"opt1,opt2,opt3\"` |\n\n**`<date-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `min` / `max` | Min/max date |\n| `format` | `DD/MM/YYYY` or `MM/DD/YYYY` |\n\n**`<signature-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `format` | `drawn`, `typed`, `drawn_or_typed`, `upload` |\n\n**`<payment-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `price` | Amount |\n| `currency` | Currency code (e.g. `USD`) |\n\n**`<verification-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `method` | `aes` or `qes` |\n\n## Examples\n\n**Simple contract:**\n```html\n<h1>Non-Disclosure Agreement</h1>\n<p>This agreement is entered by\n  <text-field name=\"Company Name\" role=\"Company\" style=\"width: 180px; height: 20px; display: inline-block;\"></text-field>\n  and\n  <text-field name=\"Recipient Name\" role=\"Recipient\" style=\"width: 180px; height: 20px; display: inline-block;\"></text-field>.\n</p>\n\n<p>Date:\n  <date-field name=\"Date\" format=\"MM/DD/YYYY\" style=\"width: 110px; height: 20px; display: inline-block;\"></date-field>\n</p>\n\n<p>Company signature:</p>\n<signature-field name=\"Company Signature\" role=\"Company\" style=\"width: 180px; height: 80px; display: inline-block;\"></signature-field>\n\n<p>Recipient signature:</p>\n<signature-field name=\"Recipient Signature\" role=\"Recipient\" style=\"width: 180px; height: 80px; display: inline-block;\"></signature-field>\n```\n\n**Form with various field types:**\n```html\n<h2>Application Form</h2>\n<p>Full Name: <text-field name=\"Full Name\" required=\"true\" style=\"width: 220px; height: 20px; display: inline-block;\"></text-field></p>\n<p>Phone: <phone-field name=\"Phone\" style=\"width: 160px; height: 20px; display: inline-block;\"></phone-field></p>\n<p>Department: <select-field name=\"Department\" options=\"Engineering,Sales,Marketing,HR\" style=\"width: 180px; height: 24px; display: inline-block;\"></select-field></p>\n<p>Start Date: <date-field name=\"Start Date\" min=\"2024-01-01\" style=\"width: 120px; height: 20px; display: inline-block;\"></date-field></p>\n<p>Photo ID: <image-field name=\"Photo ID\" style=\"width: 140px; height: 90px; display: inline-block;\"></image-field></p>\n<p>I agree to the terms: <checkbox-field name=\"Terms\" required=\"true\" style=\"width: 16px; height: 16px; display: inline-block;\"></checkbox-field></p>\n<signature-field name=\"Signature\" style=\"width: 180px; height: 80px; display: inline-block;\"></signature-field>\n```\n\n**Using with CLI:**\n```bash\ndocuseal templates create-html --name \"NDA\" --html '<h1>NDA</h1>\n<p>Party: <text-field name=\"Name\" style=\"width: 180px; height: 20px; display: inline-block;\"></text-field></p>\n<signature-field name=\"Signature\" style=\"width: 180px; height: 80px; display: inline-block;\"></signature-field>'\n\ndocuseal templates create-html --name \"NDA\" --file nda.html\n\ndocuseal submissions create-html --file nda.html \\\n  -d \"submitters[0][email]=john@acme.com\"\n```\n\nFile v1.0.8:references/submissions.md\n\n# Submissions\n\n## `docuseal submissions list`\n\nList all submissions.\n\n| Option | Description |\n|---|---|\n| `--template-id <value>` | Filter by template ID |\n| `--status <value>` | pending, completed, declined, expired |\n| `--q <value>` | Filter by submitter name, email, or phone |\n| `--slug <value>` | Filter by unique slug |\n| `--template-folder <value>` | Filter by template folder name |\n| `--archived` | Get only archived submissions |\n| `--active` | Get only active submissions |\n| `-l, --limit <value>` | Number of results (default 10, max 100) |\n| `-a, --after <value>` | Pagination cursor — pass `pagination.next` from previous response |\n| `--before <value>` | Pagination end cursor |\n\n```bash\ndocuseal submissions list\ndocuseal submissions list --status pending\ndocuseal submissions list \\\n  --template-id 1001 \\\n  --limit 50\ndocuseal submissions list --q \"john@example.com\"\n```\n\n---\n\n## `docuseal submissions retrieve <id>`\n\nGet a submission by ID.\n\n```bash\ndocuseal submissions retrieve 502\n```\n\n---\n\n## `docuseal submissions update <id>`\n\nUpdate a submission's name, expiration, or archive state.\n\n| Option | Description |\n|---|---|\n| `--name <value>` | Submission name |\n| `--expire-at <value>` | Expiration date/time (use `-d '{\"expire_at\":null}'` to clear) |\n| `--archive` | Archive the submission |\n| `--unarchive` | Unarchive the submission |\n\n```bash\ndocuseal submissions update 502 --name \"Q3 Contract\"\ndocuseal submissions update 502 --expire-at \"2025-12-31 23:59\"\ndocuseal submissions update 502 --unarchive\n```\n\n---\n\n## `docuseal submissions archive <id>`\n\nArchive a submission.\n\n```bash\ndocuseal submissions archive 502\n```\n\n---\n\n## `docuseal submissions create`\n\nCreate a submission from an existing template.\n\n| Option | Description |\n|---|---|\n| `--template-id <value>` | Template ID (required) |\n| `--send-email` | Send signature request emails (default) |\n| `--no-send-email` | Do not send signature request emails |\n| `--send-sms` | Send signature request via SMS |\n| `--order <value>` | `preserved` (default) or `random` |\n| `--expire-at <value>` | Expiration date/time |\n| `--completed-redirect-url <value>` | Redirect URL after completion |\n| `--bcc-completed <value>` | BCC address for signed documents |\n| `--reply-to <value>` | Reply-To email address |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `variables[key]` | Template variable |\n| `message[subject]` | Custom email subject |\n| `message[body]` | Custom email body |\n| `submitters[N][name]` | Full name |\n| `submitters[N][role]` | Role name (e.g. \"First Party\") |\n| `submitters[N][email]` | Email address (required) |\n| `submitters[N][phone]` | Phone in E.164 format (e.g. +1234567890) |\n| `submitters[N][values][fieldName]` | Pre-filled field value |\n| `submitters[N][external_id]` | App-specific ID |\n| `submitters[N][completed]` | Mark as completed (true/false) |\n| `submitters[N][metadata][key]` | Submitter metadata |\n| `submitters[N][send_email]` | Send email (true/false) |\n| `submitters[N][send_sms]` | Send SMS (true/false) |\n| `submitters[N][reply_to]` | Reply-To email |\n| `submitters[N][completed_redirect_url]` | Redirect URL after completion |\n| `submitters[N][order]` | Signing order (0, 1, 2...) |\n| `submitters[N][require_phone_2fa]` | Require phone 2FA (true/false) |\n| `submitters[N][require_email_2fa]` | Require email 2FA (true/false) |\n| `submitters[N][invite_by]` | Role name of inviting party |\n| `submitters[N][message][subject]` | Per-submitter email subject |\n| `submitters[N][message][body]` | Per-submitter email body |\n| `submitters[N][fields][M][name]` | Field name (required) |\n| `submitters[N][fields][M][default_value]` | Default value |\n| `submitters[N][fields][M][readonly]` | Read-only (true/false) |\n| `submitters[N][fields][M][required]` | Required (true/false) |\n| `submitters[N][roles][]` | Merge multiple roles |\n\n```bash\ndocuseal submissions create \\\n  --template-id 1001 \\\n  -d \"submitters[0][email]=john@acme.com\"\ndocuseal submissions create \\\n  --template-id 1001 \\\n  -d \"submitters[0][email]=a@b.com\" \\\n  -d \"submitters[1][email]=c@d.com\"\ndocuseal submissions create \\\n  --template-id 1001 \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"submitters[0][role]=Signer\"\ndocuseal submissions create \\\n  --template-id 1001 \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  --no-send-email\n```\n\n---\n\n## `docuseal submissions send-emails`\n\nSend a template to multiple recipients by email — creates one submission per recipient.\n\n| Option | Description |\n|---|---|\n| `--template-id <value>` | Template ID (required) |\n| `--emails <value>` | Comma-separated list of email addresses |\n| `--send-email` | Send signature request emails (default) |\n| `--no-send-email` | Do not send signature request emails |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `message[subject]` | Custom email subject |\n| `message[body]` | Custom email body |\n\n```bash\ndocuseal submissions send-emails \\\n  --template-id 1001 \\\n  --emails a@b.com,c@d.com\ndocuseal submissions send-emails \\\n  --template-id 1001 \\\n  --emails a@b.com \\\n  -d \"message[subject]=Please sign\" \\\n  -d \"message[body]=Hello\"\n```\n\n---\n\n## `docuseal submissions create-pdf` _(Pro)_\n\nCreate a submission directly from a PDF file (no pre-existing template needed).\n\nSee [PDF / DOCX Field Tags](field-tags.md) for embedded `{{...}}` field syntax in PDF and DOCX documents.\n\n| Option | Description |\n|---|---|\n| `--file <path>` | Path to local PDF file |\n| `--name <value>` | Submission name |\n| `--send-email` | Send signature request emails (default) |\n| `--no-send-email` | Do not send signature request emails |\n| `--send-sms` | Send signature request via SMS |\n| `--order <value>` | `preserved` or `random` |\n| `--flatten` | Remove PDF form fields |\n| `--merge-documents` | Merge into single PDF |\n| `--remove-tags` | Remove `{{text}}` tags (default) |\n| `--no-remove-tags` | Keep `{{text}}` tags in the PDF |\n| `--expire-at <value>` | Expiration date/time |\n| `--completed-redirect-url <value>` | Redirect URL after completion |\n| `--bcc-completed <value>` | BCC address for signed documents |\n| `--reply-to <value>` | Reply-To email address |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `template_ids[]` | Template ID to use alongside provided documents |\n| `documents[N][position]` | Position in template |\n| `submitters[N][name]` | Full name |\n| `submitters[N][role]` | Role name |\n| `submitters[N][email]` | Email address (required) |\n| `submitters[N][phone]` | Phone (E.164) |\n| `submitters[N][values][fieldName]` | Pre-filled field value |\n| `submitters[N][external_id]` | App-specific ID |\n| `submitters[N][completed]` | Mark as completed (true/false) |\n| `submitters[N][metadata][key]` | Submitter metadata |\n| `submitters[N][send_email]` | Send email (true/false) |\n| `submitters[N][send_sms]` | Send SMS (true/false) |\n| `submitters[N][reply_to]` | Reply-To email |\n| `submitters[N][completed_redirect_url]` | Redirect URL after completion |\n| `submitters[N][order]` | Signing order (0, 1, 2...) |\n| `submitters[N][require_phone_2fa]` | Require phone 2FA (true/false) |\n| `submitters[N][require_email_2fa]` | Require email 2FA (true/false) |\n| `submitters[N][invite_by]` | Role name of inviting party |\n| `submitters[N][fields][M][name]` | Field name (required) |\n| `submitters[N][fields][M][default_value]` | Default value |\n| `submitters[N][fields][M][readonly]` | Read-only (true/false) |\n| `submitters[N][fields][M][required]` | Required (true/false) |\n| `submitters[N][roles][]` | Merge multiple roles |\n| `message[subject]` | Custom email subject |\n| `message[body]` | Custom email body |\n\n```bash\ndocuseal submissions create-pdf \\\n  --file doc.pdf \\\n  -d \"submitters[0][email]=john@acme.com\"\ndocuseal submissions create-pdf \\\n  -d \"documents[0][file]=./doc.pdf\" \\\n  -d \"submitters[0][email]=john@acme.com\"\ndocuseal submissions create-pdf \\\n  -d \"documents[0][file]=https://...\" \\\n  -d \"submitters[0][email]=john@acme.com\"\n```\n\n---\n\n## `docuseal submissions create-docx` _(Pro)_\n\nCreate a submission directly from a DOCX file.\n\nSee [PDF / DOCX Field Tags](field-tags.md) for embedded `{{...}}` field syntax. See [DOCX Variables](docx-variables.md) for DOCX-specific variables, loops, and conditional content.\n\n| Option | Description |\n|---|---|\n| `--file <path>` | Path to local DOCX file |\n| `--name <value>` | Submission name |\n| `--send-email` | Send signature request emails (default) |\n| `--no-send-email` | Do not send signature request emails |\n| `--send-sms` | Send signature request via SMS |\n| `--merge-documents` | Merge into single PDF |\n| `--remove-tags` | Remove `{{text}}` tags (default) |\n| `--no-remove-tags` | Keep `{{text}}` tags |\n| `--order <value>` | `preserved` or `random` |\n| `--expire-at <value>` | Expiration date/time |\n| `--completed-redirect-url <value>` | Redirect URL after completion |\n| `--bcc-completed <value>` | BCC address for signed documents |\n| `--reply-to <value>` | Reply-To email address |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `variables[key]` | Template variable |\n| `template_ids[]` | Template ID to use alongside provided documents |\n| `documents[N][position]` | Position in template |\n\nSupports same `-d submitters[N]...` and `message` data params as `submissions create-pdf`.\n\n```bash\ndocuseal submissions create-docx \\\n  --file doc.docx \\\n  -d \"submitters[0][email]=john@acme.com\"\ndocuseal submissions create-docx \\\n  -d \"documents[0][file]=./doc.docx\" \\\n  -d \"submitters[0][email]=john@acme.com\"\ndocuseal submissions create-docx \\\n  -d \"documents[0][file]=https://...\" \\\n  -d \"submitters[0][email]=john@acme.com\"\n```\n\n---\n\n## `docuseal submissions create-html` _(Pro)_\n\nCreate a submission directly from HTML.\n\nSee [HTML Field Tags](html-fields.md) for supported tags, attributes, and `style` guidance.\n\n| Option | Description |\n|---|---|\n| `--file <path>` | Path to local HTML file |\n| `--name <value>` | Submission name |\n| `--send-email` | Send signature request emails (default) |\n| `--no-send-email` | Do not send signature request emails |\n| `--send-sms` | Send signature request via SMS |\n| `--merge-documents` | Merge into single PDF |\n| `--order <value>` | `preserved` or `random` |\n| `--expire-at <value>` | Expiration date/time |\n| `--completed-redirect-url <value>` | Redirect URL after completion |\n| `--bcc-completed <value>` | BCC address for signed documents |\n| `--reply-to <value>` | Reply-To email address |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `template_ids[]` | Template ID to use alongside provided documents |\n| `documents[N][name]` | Document name |\n| `documents[N][html]` | HTML template with field tags |\n| `documents[N][html_header]` | HTML header for every page |\n| `documents[N][html_footer]` | HTML footer for every page |\n| `documents[N][size]` | Page size (Letter, A4, ...) |\n| `documents[N][position]` | Position in template |\n\nSupports same `-d submitters[N]...` and `message` data params as `submissions create-pdf`.\n\n```bash\ndocuseal submissions create-html \\\n  --file template.html \\\n  -d \"submitters[0][email]=john@acme.com\"\ndocuseal submissions create-html \\\n  -d 'documents[0][html]=<p><text-field name=\"Name\"></text-field></p>' \\\n  -d \"submitters[0][email]=john@acme.com\"\n```\n\n---\n\n## `docuseal submissions documents <id>`\n\nGet documents for a submission.\n\n| Option | Description |\n|---|---|\n| `--merge` | Merge all documents into a single PDF |\n\n```bash\ndocuseal submissions documents 502\ndocuseal submissions documents 502 --merge\n```\n\nFile v1.0.8:references/submitters.md\n\n# Submitters\n\n## `docuseal submitters list`\n\nList all submitters.\n\n| Option | Description |\n|---|---|\n| `--submission-id <value>` | Filter by submission ID |\n| `--q <value>` | Filter by name, email, or phone partial match |\n| `--slug <value>` | Filter by unique slug |\n| `--external-id <value>` | Filter by external ID |\n| `--completed-after <value>` | Filter by completion date (after) |\n| `--completed-before <value>` | Filter by completion date (before) |\n| `-l, --limit <value>` | Number of results (default 10, max 100) |\n| `-a, --after <value>` | Pagination cursor — pass `pagination.next` from previous response |\n| `--before <value>` | Pagination end cursor |\n\n```bash\ndocuseal submitters list\ndocuseal submitters list --submission-id 502\ndocuseal submitters list --q \"john@example.com\"\n```\n\n---\n\n## `docuseal submitters retrieve <id>`\n\nGet a submitter by ID.\n\n```bash\ndocuseal submitters retrieve 201\n```\n\n---\n\n## `docuseal submitters update <id>`\n\nUpdate a submitter — change contact info, pre-fill fields, re-send notifications, or mark as completed.\n\n| Option | Description |\n|---|---|\n| `--name <value>` | Full name |\n| `--email <value>` | Email address |\n| `--phone <value>` | Phone in E.164 format (e.g. +1234567890) |\n| `--external-id <value>` | App-specific unique key |\n| `--send-email` | Re-send signature request email |\n| `--send-sms` | Re-send via SMS |\n| `--completed` | Mark as completed (auto-signed) |\n| `--reply-to <value>` | Reply-To email address |\n| `--completed-redirect-url <value>` | Redirect URL after completion |\n| `--require-phone-2fa` | Require phone 2FA |\n| `--require-email-2fa` | Require email 2FA |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `values[fieldName]` | Pre-filled field value |\n| `metadata[key]` | Submitter metadata |\n| `message[subject]` | Custom email subject |\n| `message[body]` | Custom email body |\n| `fields[N][name]` | Field name (required) |\n| `fields[N][default_value]` | Default value |\n| `fields[N][readonly]` | Read-only (true/false) |\n| `fields[N][required]` | Required (true/false) |\n\n```bash\ndocuseal submitters update 201 --email new@acme.com\ndocuseal submitters update 201 --completed\ndocuseal submitters update 201 \\\n  -d \"values[First Name]=John\" \\\n  -d \"metadata[department]=Sales\"\n```\n\nFile v1.0.8:references/templates.md\n\n# Templates\n\n## `docuseal templates list`\n\nList all templates.\n\n| Option | Description |\n|---|---|\n| `--q <value>` | Filter by name search |\n| `--folder <value>` | Filter by folder name |\n| `--slug <value>` | Filter by unique slug |\n| `--external-id <value>` | Filter by external ID |\n| `--archived` | Get only archived templates |\n| `--active` | Get only active templates |\n| `--shared` | List templates shared with test mode |\n| `-l, --limit <value>` | Number of results (default 10, max 100) |\n| `--after <value>` | Pagination cursor — pass `pagination.next` from previous response |\n| `--before <value>` | Pagination end cursor |\n\n```bash\ndocuseal templates list\ndocuseal templates list --folder Legal --limit 50\ndocuseal templates list --archived\n```\n\n---\n\n## `docuseal templates retrieve <id>`\n\nGet a template by ID.\n\n```bash\ndocuseal templates retrieve 1001\n```\n\n---\n\n## `docuseal templates update <id>`\n\nUpdate a template.\n\n| Option | Description |\n|---|---|\n| `--name <value>` | Template name |\n| `--folder-name <value>` | Move to folder |\n| `--archive` | Archive the template |\n| `--unarchive` | Unarchive the template |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `roles[]` | Submitter role name |\n\n```bash\ndocuseal templates update 1001 --name \"NDA v2\"\ndocuseal templates update 1001 --folder-name Contracts\ndocuseal templates update 1001 \\\n  -d \"roles[]=Signer\" \\\n  -d \"roles[]=Reviewer\"\ndocuseal templates update 1001 --unarchive\n```\n\n---\n\n## `docuseal templates archive <id>`\n\nArchive a template.\n\n```bash\ndocuseal templates archive 1001\n```\n\n---\n\n## `docuseal templates create-pdf` _(Pro)_\n\nCreate a template from a PDF file.\n\nSee [PDF / DOCX Field Tags](field-tags.md) for embedded `{{...}}` field syntax in PDF and DOCX documents.\n\n| Option | Description |\n|---|---|\n| `--file <path>` | Path to local PDF file |\n| `--name <value>` | Template name |\n| `--folder-name <value>` | Folder to create in |\n| `--external-id <value>` | App-specific unique key |\n| `--shared-link` | Make available via shared link |\n| `--no-shared-link` | Disable shared link |\n| `--flatten` | Remove PDF form fields |\n| `--remove-tags` | Remove `{{text}}` tags (default) |\n| `--no-remove-tags` | Keep `{{text}}` tags in the PDF |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `documents[N][name]` | Document name |\n| `documents[N][file]` | Local file path or URL |\n| `documents[N][fields][M][name]` | Field name |\n| `documents[N][fields][M][type]` | text, signature, initials, date, number, image, checkbox, multiple, file, radio, select, cells, stamp, payment, phone, verification, kba |\n| `documents[N][fields][M][role]` | Signer role name |\n| `documents[N][fields][M][required]` | Required (true/false) |\n| `documents[N][fields][M][title]` | Display title |\n| `documents[N][fields][M][description]` | Display description (Markdown) |\n| `documents[N][fields][M][areas][K][x/y/w/h]` | Position as fraction of page (0-1) |\n| `documents[N][fields][M][areas][K][page]` | Page number (starts at 1) |\n| `documents[N][fields][M][options][]` | Select/radio option values |\n\n```bash\ndocuseal templates create-pdf --file contract.pdf --name \"NDA\"\ndocuseal templates create-pdf --file form.pdf --folder-name Legal\ndocuseal templates create-pdf \\\n  -d \"documents[0][file]=./contract.pdf\" \\\n  --name \"NDA\"\ndocuseal templates create-pdf \\\n  -d \"documents[0][file]=https://...\" \\\n  --name \"NDA\"\ndocuseal templates create-pdf --file form.pdf \\\n  -d \"documents[0][fields][0][name]=Name\" \\\n  -d \"documents[0][fields][0][type]=text\"\n```\n\n---\n\n## `docuseal templates create-docx` _(Pro)_\n\nCreate a template from a Word DOCX file.\n\nSee [PDF / DOCX Field Tags](field-tags.md) for embedded `{{...}}` field syntax in PDF and DOCX documents.\n\n| Option | Description |\n|---|---|\n| `--file <path>` | Path to local DOCX file |\n| `--name <value>` | Template name |\n| `--folder-name <value>` | Folder to create in |\n| `--external-id <value>` | App-specific unique key |\n| `--shared-link` | Make available via shared link |\n| `--no-shared-link` | Disable shared link |\n\nSupports same `-d documents[N]...` data params as `create-pdf`.\n\n```bash\ndocuseal templates create-docx --file template.docx --name \"Contract\"\ndocuseal templates create-docx \\\n  -d \"documents[0][file]=./template.docx\" \\\n  --name \"Contract\"\ndocuseal templates create-docx \\\n  -d \"documents[0][file]=https://...\" \\\n  --name \"Contract\"\ndocuseal templates create-docx --file template.docx \\\n  -d \"documents[0][fields][0][name]=Name\" \\\n  -d \"documents[0][fields][0][role]=Signer\"\n```\n\n---\n\n## `docuseal templates create-html` _(Pro)_\n\nCreate a template from HTML.\n\nSee [HTML Field Tags](html-fields.md) for supported tags, attributes, and `style` guidance.\n\n| Option | Description |\n|---|---|\n| `--html <value>` | Inline HTML with field tags |\n| `--file <path>` | Path to local HTML file |\n| `--html-header <value>` | Header HTML (shown on every page) |\n| `--html-footer <value>` | Footer HTML (shown on every page) |\n| `--name <value>` | Template name |\n| `--size <value>` | Page size: Letter (default), A4, Legal, A3, A5, A6, Tabloid, Ledger, A0, A1, A2 |\n| `--folder-name <value>` | Folder to create in |\n| `--external-id <value>` | App-specific unique key |\n| `--shared-link` | Make available via shared link |\n| `--no-shared-link` | Disable shared link |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `documents[N][html]` | HTML with field tags |\n| `documents[N][name]` | Document name |\n\n```bash\ndocuseal templates create-html \\\n  --html '<p><text-field name=\"Name\"></text-field></p>' \\\n  --name \"Simple\"\ndocuseal templates create-html \\\n  --file template.html \\\n  --name \"Contract\"\ndocuseal templates create-html \\\n  -d 'documents[0][html]=<p><text-field name=\"Name\"></text-field></p>' \\\n  -d \"documents[0][name]=Page 1\"\n```\n\n---\n\n## `docuseal templates clone <id>`\n\nClone a template.\n\n| Option | Description |\n|---|---|\n| `--name <value>` | Name for the clone (default: original name + \"(Clone)\") |\n| `--folder-name <value>` | Folder to clone into |\n| `--external-id <value>` | App-specific unique key |\n\n```bash\ndocuseal templates clone 1001\ndocuseal templates clone 1001 --name \"NDA Copy\"\n```\n\n---\n\n## `docuseal templates merge` _(Pro)_\n\nMerge multiple templates into one.\n\n| Option | Description |\n|---|---|\n| `--name <value>` | Name for the merged template |\n| `--folder-name <value>` | Folder to place merged template |\n| `--external-id <value>` | App-specific unique key |\n| `--shared-link` | Make available via shared link |\n| `--no-shared-link` | Disable shared link |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `template_ids[]` | Template ID to include (required, repeatable) |\n| `roles[]` | Submitter role name |\n\n```bash\ndocuseal templates merge \\\n  -d \"template_ids[]=1001\" \\\n  -d \"template_ids[]=1002\"\ndocuseal templates merge \\\n  -d \"template_ids[]=1001\" \\\n  -d \"template_ids[]=1002\" \\\n  --name \"Combined\"\n```\n\n---\n\n## `docuseal templates update-documents <id>` _(Pro)_\n\nUpdate documents within an existing template.\n\n| Option | Description |\n|---|---|\n| `--merge` | Merge all docs into a single PDF |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `documents[N][name]` | Document name |\n| `documents[N][file]` | Local file path, URL, or base64-encoded content |\n| `documents[N][html]` | HTML template with field tags |\n| `documents[N][position]` | Position in template |\n| `documents[N][replace]` | Replace existing document (true/false) |\n| `documents[N][remove]` | Remove document (true/false) |\n\n```bash\ndocuseal templates update-documents 1001 \\\n  -d \"documents[0][file]=./contract.pdf\"\ndocuseal templates update-documents 1001 \\\n  -d \"documents[0][file]=https://...\"\ndocuseal templates update-documents 1001 \\\n  -d \"documents[0][file]=https://...\" \\\n  -d \"documents[0][name]=New Doc\"\n```\n\nFile v1.0.8:skill-card.md\n\n## Description:\n\nManage DocuSeal e-signature workflows from the terminal via the DocuSeal CLI, including creating templates from PDF, DOCX, and HTML files, sending documents for signing, tracking submissions, and updating submitters.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[docuseal](https://clawhub.ai/user/docuseal)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operations teams use this skill to run DocuSeal CLI workflows from shells, scripts, and CI/CD pipelines for document template management, signing requests, submission tracking, and signer updates.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill depends on installing a mutable DocuSeal CLI executable package.\n\nMitigation: Pin and verify the DocuSeal CLI version before production use.\n\nRisk: The skill uses DocuSeal API credentials and may operate on sensitive document files.\n\nMitigation: Use a narrowly scoped API key where possible and run the skill with only the required files and environment variables.\n\nRisk: The skill can trigger high-impact e-signature actions such as sending notifications, archiving or replacing documents, and marking signers as completed.\n\nMitigation: Review commands carefully before execution, especially commands that send messages, alter document state, or complete signer workflows.\n\n## Reference(s):\n\n- [DocuSeal Homepage](https://www.docuseal.com)\n- [DOCX Dynamic Content Variables](references/docx-variables.md)\n- [PDF / DOCX Field Tags](references/field-tags.md)\n- [HTML Field Tags](references/html-fields.md)\n- [Submissions](references/submissions.md)\n- [Submitters](references/submitters.md)\n- [Templates](references/templates.md)\n- [DocuSeal DOCX Variables Guide](https://www.docuseal.com/guides/use-dynamic-content-variables-in-docx-to-create-personalized-documents)\n- [DocuSeal Embedded Field Tags Guide](https://www.docuseal.com/guides/use-embedded-text-field-tags-in-the-pdf-to-create-a-fillable-form)\n- [DocuSeal HTML Fillable Form Guide](https://www.docuseal.com/guides/create-pdf-document-fillable-form-with-html-api)\n- [DocuSeal Field Tags Example PDF](https://www.docuseal.com/examples/fieldtags.pdf)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown with inline bash commands and JSON-oriented CLI guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [DocuSeal CLI command output is described by the artifact as JSON.]\n\n## Skill Version(s):\n\n1.0.8 (source: server release evidence and artifact metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.7: 9 files, 14027 bytes\n\nFiles: references/docx-variables.md (2395b), references/field-tags.md (3718b), references/html-fields.md (5456b), references/submissions.md (11466b), references/submitters.md (2270b), references/templates.md (7765b), skill-card.md (3097b), SKILL.md (4577b), _meta.json (127b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: docuseal-cli\ndescription: >\n  Manage DocuSeal e-signature workflows from the terminal via the DocuSeal CLI -\n  create templates from PDF/DOCX/HTML, send documents for signing, track submissions,\n  and update submitters. Use when the user wants to run DocuSeal commands in the shell,\n  scripts, or CI/CD pipelines. Always load this skill before running `docuseal` commands.\nlicense: MIT\nmetadata:\n  author: DocuSeal\n  version: \"1.0.7\"\n  homepage: https://www.docuseal.com\n  source: https://github.com/docusealco/docuseal-cli\n  openclaw:\n    emoji: \"📝\"\n    requires:\n      env:\n        - DOCUSEAL_API_KEY\n        - DOCUSEAL_SERVER\n      bins:\n        - docuseal\n      primaryEnv: DOCUSEAL_API_KEY\n    install:\n      - id: npm\n        kind: npm\n        package: docuseal\n        bins:\n          - docuseal\n        label: Install DocuSeal CLI (npm)\n---\n\n## Agent Protocol\n\n**Rules for agents:**\n- Supply ALL required flags — the CLI will not prompt for missing parameters.\n- Output is always JSON.\n- Use `-d key=value` (bracket notation) or `-d '{\"..\": \"..\"}'` (JSON) for body and array parameters.\n\n## Authentication\n\nSet environment variables:\n- `DOCUSEAL_API_KEY` — API key (required). Get yours at https://console.docuseal.com/api\n- `DOCUSEAL_SERVER` — `global` (default), `europe`, or full URL for self-hosted (e.g. `https://docuseal.yourdomain.com`)\n\n## Available Commands\n\n| Command Group | What it does |\n|---|---|\n| `templates` | list, retrieve, update, archive, create-pdf, create-docx, create-html, clone, merge, update-documents |\n| `submissions` | list, retrieve, update, archive, create, send-emails, create-pdf, create-docx, create-html, documents |\n| `submitters` | list, retrieve, update |\n\nRead the matching reference file for detailed flags and examples.\n\n## Common Mistakes\n\n| # | Mistake | Fix |\n|---|---|---|\n| 1 | **Forgetting `-d template_id=<id>` on `submissions create`** | `--template-id` is a flag; submitters and other body params go via `-d` |\n| 2 | **Passing a plain file path as a URL** | `--file` accepts a local path; for remote files use `-d \"documents[0][file]=https://...\"` |\n| 3 | **Expecting array params as comma-separated** | Arrays use bracket notation: `-d \"template_ids[]=1\"` `-d \"template_ids[]=2\"` |\n| 4 | **Using `templates create-pdf` without a Pro plan** | Commands marked _(Pro)_ require a DocuSeal Pro subscription |\n| 5 | **Sending to multiple recipients with `submissions create`** | Use `submissions send-emails --emails a@b.com,c@d.com` for bulk; `submissions create` is per-submitter |\n\n## Security\n\nThe CLI accepts user-provided file paths, remote URLs (`documents[0][file]=https://...`), and HTML content as template input. This is by design — all content originates from the authenticated user and is sent directly to the DocuSeal API over HTTPS. The CLI does not fetch, render, or execute remote content locally; it passes references to the server for processing. No user input is interpolated into shell commands.\n\n## Common Patterns\n\n**List templates:**\n```bash\ndocuseal templates list --q \"NDA\" --limit 20\n```\n\n**Create a template from a PDF and send for signing:**\n```bash\ndocuseal templates create-pdf --file contract.pdf --name \"NDA\"\ndocuseal submissions send-emails --template-id 1001 --emails signer@example.com\n```\n\n**Create a submission with pre-filled fields (bracket notation):**\n```bash\ndocuseal submissions create --template-id 1001 \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"submitters[0][values][Company Name]=Acme Corp\"\n```\n\n**Create a submission with pre-filled fields (JSON):**\n```bash\ndocuseal submissions create --template-id 1001 \\\n  -d '{\"submitters\": [{\"email\": \"john@acme.com\", \"values\": {\"Company Name\": \"Acme Corp\"}}]}'\n```\n\n**Check signing status:**\n```bash\ndocuseal submissions list --template-id 1001 --status pending\n```\n\n**Update a submitter:**\n```bash\ndocuseal submitters update 201 --email new@acme.com --send-email\n```\n\n## When to Load References\n\n- **Creating or managing templates** → [references/templates.md](references/templates.md)\n- **Sending documents for signing or tracking status** → [references/submissions.md](references/submissions.md)\n- **Using dynamic content variables in DOCX** → [references/docx-variables.md](references/docx-variables.md)\n- **Embedding field tags in PDF/DOCX** → [references/field-tags.md](references/field-tags.md)\n- **Writing HTML templates with field tags** → [references/html-fields.md](references/html-fields.md)\n- **Listing or updating signers** → [references/submitters.md](references/submitters.md)\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn78xdk1k8ykt39nqmweh0q729825c5t\",\n  \"slug\": \"docuseal\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1784311514289\n}\n\nFile v1.0.7:references/docx-variables.md\n\n# DOCX Dynamic Content Variables\n\nDocuSeal supports dynamic content variables in DOCX templates. Variables are replaced with provided values when creating a submission via `submissions create-docx` using the `-d \"variables[key]=value\"` syntax.\n\nFull guide: https://www.docuseal.com/guides/use-dynamic-content-variables-in-docx-to-create-personalized-documents\n\n## Syntax\n\nVariables use double-bracket notation: `[[variable_name]]`\n\n## Simple Variables\n\n```\n[[signer_name]]\n[[company_name]]\n[[contract_date]]\n```\n\nReplaced with the corresponding value passed via `variables`.\n\n## Conditional Logic\n\n**If:**\n```\n[[if:is_vip]] Thank you for being a valued VIP customer! [[end]]\n```\n\n**If/else:**\n```\n[[if:is_vip]] Thank you for being a valued VIP customer! [[else]] Thank you for being our customer. [[end:is_vip]]\n```\n\nThe condition variable is a boolean.\n\n## Loops\n\nIterate over arrays using `[[for:array_name]]`:\n\n```\n[[for:items]] - [[item.name]] ([[item.quantity]]) [[end]]\n```\n\nTable rows:\n```\n[[for:invoices]]\n| [[invoice.name]] | [[invoice.quantity]] | [[invoice.price]] | [[invoice.total]] |\n[[end]]\n```\n\nInside the loop, access properties via singular dot notation: `items` array → `item.name`.\n\n## HTML Content Variables\n\nVariable values can contain styled HTML rendered directly in the DOCX:\n\n**Paragraphs:**\n```html\n<p><b style=\"color: #1976D2; text-decoration: underline;\">Bold blue text</b> normal text.</p>\n```\n\n**Lists:**\n```html\n<ul>\n  <li>Item one</li>\n  <li>Item two</li>\n</ul>\n```\n\n**Tables:**\n```html\n<table border=\"1\" style=\"border-collapse: collapse;\">\n  <tr><th style=\"padding: 8px;\"><b>Item</b></th><th><b>Price</b></th></tr>\n  <tr><td style=\"padding: 8px;\">Widget</td><td>$50</td></tr>\n</table>\n```\n\n**Links:**\n```html\n<a href=\"https://example.com\" style=\"color: #1976D2;\">Example Link</a>\n```\n\n## Using with CLI\n\n```bash\n# Simple variables\ndocuseal submissions create-docx --file contract.docx \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"variables[signer_name]=John Doe\" \\\n  -d \"variables[company_name]=Acme Corp\"\n\n# Boolean for conditionals\ndocuseal submissions create-docx --file contract.docx \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"variables[is_vip]=true\"\n\n# HTML content\ndocuseal submissions create-docx --file contract.docx \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d 'variables[description]=<p><b>Important</b> details here.</p>'\n```\n\nFile v1.0.7:references/field-tags.md\n\n# PDF / DOCX Field Tags\n\nDocuSeal uses embedded text tags in PDF and DOCX documents to define fillable fields. Tags are placed directly in the document text and are automatically detected when uploaded via `templates create-pdf`, `templates create-docx`, `submissions create-pdf`, or `submissions create-docx`.\n\nFull guide: https://www.docuseal.com/guides/use-embedded-text-field-tags-in-the-pdf-to-create-a-fillable-form\n\n## Syntax\n\nTags use double curly braces. Attributes are separated by semicolons:\n\n```\n{{Field Name}}\n{{Field Name;type=signature}}\n{{Field Name;type=date;role=First Party;required=true}}\n```\n\n## Field Types\n\n| Type | Description |\n|---|---|\n| `text` | Text input (default) |\n| `signature` | Signature capture |\n| `initials` | Initials capture |\n| `date` | Date picker |\n| `datenow` | Auto-filled signing date (read-only) |\n| `image` | Image upload |\n| `file` | File upload |\n| `payment` | Payment field |\n| `stamp` | Document stamp |\n| `select` | Dropdown menu |\n| `checkbox` | Boolean checkbox |\n| `multiple` | Multiple selection |\n| `radio` | Radio button |\n| `phone` | Phone number (2FA) |\n| `verification` | Identity verification |\n| `kba` | Knowledge-based authentication |\n\n## Attributes\n\n| Attribute | Description |\n|---|---|\n| `name` | Field name (the text before the first `;`) |\n| `type` | Field type (default: `text`) |\n| `role` | Signer role for multi-party signing |\n| `default` | Pre-filled value |\n| `required` | Required field (`true` by default) |\n| `readonly` | Prevent editing (`false` by default) |\n| `title` | Display label in signing UI |\n| `description` | Help text in signing UI |\n| `options` | Comma-separated values for select/radio/multiple |\n| `option` | Single option value for radio buttons |\n| `condition` | Conditional visibility: `FieldName:value` |\n| `width` | Width in pixels |\n| `height` | Height in pixels |\n| `hidden` | Hide field (`true`/`false`) |\n| `mask` | Mask sensitive data (`true`/`false`) |\n\n## Text Formatting\n\n| Attribute | Values |\n|---|---|\n| `font` | `Times`, `Helvetica`, `Courier` |\n| `font_size` | Numeric value |\n| `font_type` | `bold`, `italic`, `bold_italic` |\n| `color` | `blue`, `red`, `black` (default) |\n| `align` | `left`, `center`, `right` |\n| `valign` | `top`, `center`, `bottom` |\n\n## Type-Specific Attributes\n\n| Attribute | Applies to | Values |\n|---|---|---|\n| `format` | date | `DD/MM/YYYY`, `MM/DD/YYYY` (default) |\n| `format` | signature | `drawn`, `typed`, `drawn_or_typed` (default), `upload` |\n| `format` | number | `usd`, `eur`, `gbp` |\n| `min` / `max` | date, number | Min/max allowed value |\n| `method` | verification | `aes`, `qes` |\n\n## Examples\n\n**Basic fields:**\n```\n{{Full Name}}\n{{Email;title=Email Address}}\n{{Sign;type=signature}}\n{{Date;type=date;format=DD/MM/YYYY}}\n{{Today;type=datenow}}\n```\n\n**Multi-role signing:**\n```\n{{Landlord Name;role=Landlord}}\n{{Landlord Sign;type=signature;role=Landlord}}\n{{Tenant Name;role=Tenant}}\n{{Tenant Sign;type=signature;role=Tenant}}\n```\n\n**Selection fields:**\n```\n{{Department;type=select;options=Engineering,Sales,Marketing,HR}}\n{{Priority;type=radio;option=Low}}\n{{Priority;type=radio;option=Medium}}\n{{Priority;type=radio;option=High}}\n{{type=checkbox}} I agree to the terms\n```\n\n**Conditional fields:**\n```\n{{Agree;type=checkbox}}\n{{Details;condition=Agree:true}}\n```\n\n**Using with CLI:**\n```bash\ndocuseal templates create-pdf --file contract.pdf --name \"Contract\"\ndocuseal templates create-docx --file contract.docx --name \"Contract\"\ndocuseal submissions create-pdf --file contract.pdf \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"submitters[0][role]=Tenant\"\n```\n\n## Resources\n\n- Example PDF with field tags: https://www.docuseal.com/examples/fieldtags.pdf\n\nFile v1.0.7:references/html-fields.md\n\n# HTML Field Tags\n\nDocuSeal uses custom HTML tags to define fillable fields in templates. These tags can be used in `--html` or `--file` values for `templates create-html` and `submissions create-html` commands.\n\nFull guide: https://www.docuseal.com/guides/create-pdf-document-fillable-form-with-html-api\n\n## Available Tags\n\n| Tag | Purpose |\n|---|---|\n| `<text-field>` | Text input |\n| `<signature-field>` | Signature capture |\n| `<date-field>` | Date picker |\n| `<image-field>` | Image upload |\n| `<initials-field>` | Initials capture |\n| `<phone-field>` | Phone number input |\n| `<stamp-field>` | Document stamp |\n| `<file-field>` | File attachment |\n| `<checkbox-field>` | Boolean checkbox |\n| `<radio-field>` | Single option selection |\n| `<select-field>` | Dropdown menu |\n| `<multi-select-field>` | Multiple selection dropdown |\n| `<payment-field>` | Payment processing |\n| `<verification-field>` | Identity verification |\n\n## Common Attributes\n\nAll tags support:\n\n| Attribute | Description |\n|---|---|\n| `name` | Field identifier (required) |\n| `role` | Signer role assignment |\n| `default` | Pre-filled value |\n| `required` | Required field, `true` by default |\n| `readonly` | Prevent editing by signer |\n| `title` | Display label |\n| `description` | Help text shown to signer |\n| `condition` | Conditional visibility, e.g. `\"Status:active\"` |\n| `style` | CSS styling for field size and placement. Set `width` and `height` so the field renders on the page. |\n\n**Important:** HTML field tags should usually include a `style` attribute with at least `width` and `height`. Without explicit dimensions, the rendered field can collapse and not appear where you expect in the document. For inline fields, `display: inline-block` is commonly used.\n\n## Style Examples\n\nUse `style=\"\"` to control field size and layout:\n\n```html\n<text-field name=\"Full Name\" role=\"Tenant\" style=\"width: 160px; height: 20px; display: inline-block;\"></text-field>\n<signature-field name=\"Tenant Signature\" role=\"Tenant\" style=\"width: 160px; height: 80px; display: inline-block;\"></signature-field>\n```\n\n## Text Formatting Attributes\n\n| Attribute | Values |\n|---|---|\n| `font` | `Times`, `Helvetica`, `Courier` |\n| `font-size` | Numeric value |\n| `font-type` | `bold`, `italic`, `bold_italic` |\n| `color` | `blue`, `red`, `black` (default) |\n| `align` | `left`, `center`, `right` |\n| `valign` | `top`, `center`, `bottom` |\n| `mask` | `true` / `false` (hide sensitive data) |\n\n## Type-Specific Attributes\n\n**`<select-field>`, `<multi-select-field>`, `<radio-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `options` | Comma-separated list: `\"opt1,opt2,opt3\"` |\n\n**`<date-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `min` / `max` | Min/max date |\n| `format` | `DD/MM/YYYY` or `MM/DD/YYYY` |\n\n**`<signature-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `format` | `drawn`, `typed`, `drawn_or_typed`, `upload` |\n\n**`<payment-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `price` | Amount |\n| `currency` | Currency code (e.g. `USD`) |\n\n**`<verification-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `method` | `aes` or `qes` |\n\n## Examples\n\n**Simple contract:**\n```html\n<h1>Non-Disclosure Agreement</h1>\n<p>This agreement is entered by\n  <text-field name=\"Company Name\" role=\"Company\" style=\"width: 180px; height: 20px; display: inline-block;\"></text-field>\n  and\n  <text-field name=\"Recipient Name\" role=\"Recipient\" style=\"width: 180px; height: 20px; display: inline-block;\"></text-field>.\n</p>\n\n<p>Date:\n  <date-field name=\"Date\" format=\"MM/DD/YYYY\" style=\"width: 110px; height: 20px; display: inline-block;\"></date-field>\n</p>\n\n<p>Company signature:</p>\n<signature-field name=\"Company Signature\" role=\"Company\" style=\"width: 180px; height: 80px; display: inline-block;\"></signature-field>\n\n<p>Recipient signature:</p>\n<signature-field name=\"Recipient Signature\" role=\"Recipient\" style=\"width: 180px; height: 80px; display: inline-block;\"></signature-field>\n```\n\n**Form with various field types:**\n```html\n<h2>Application Form</h2>\n<p>Full Name: <text-field name=\"Full Name\" required=\"true\" style=\"width: 220px; height: 20px; display: inline-block;\"></text-field></p>\n<p>Phone: <phone-field name=\"Phone\" style=\"width: 160px; height: 20px; display: inline-block;\"></phone-field></p>\n<p>Department: <select-field name=\"Department\" options=\"Engineering,Sales,Marketing,HR\" style=\"width: 180px; height: 24px; display: inline-block;\"></select-field></p>\n<p>Start Date: <date-field name=\"Start Date\" min=\"2024-01-01\" style=\"width: 120px; height: 20px; display: inline-block;\"></date-field></p>\n<p>Photo ID: <image-field name=\"Photo ID\" style=\"width: 140px; height: 90px; display: inline-block;\"></image-field></p>\n<p>I agree to the terms: <checkbox-field name=\"Terms\" required=\"true\" style=\"width: 16px; height: 16px; display: inline-block;\"></checkbox-field></p>\n<signature-field name=\"Signature\" style=\"width: 180px; height: 80px; display: inline-block;\"></signature-field>\n```\n\n**Using with CLI:**\n```bash\ndocuseal templates create-html --name \"NDA\" --html '<h1>NDA</h1>\n<p>Party: <text-field name=\"Name\" style=\"width: 180px; height: 20px; display: inline-block;\"></text-field></p>\n<signature-field name=\"Signature\" style=\"width: 180px; height: 80px; display: inline-block;\"></signature-field>'\n\ndocuseal templates create-html --name \"NDA\" --file nda.html\n\ndocuseal submissions create-html --file nda.html \\\n  -d \"submitters[0][email]=john@acme.com\"\n```\n\nFile v1.0.7:references/submissions.md\n\n# Submissions\n\n## `docuseal submissions list`\n\nList all submissions.\n\n| Option | Description |\n|---|---|\n| `--template-id <value>` | Filter by template ID |\n| `--status <value>` | pending, completed, declined, expired |\n| `--q <value>` | Filter by submitter name, email, or phone |\n| `--slug <value>` | Filter by unique slug |\n| `--template-folder <value>` | Filter by template folder name |\n| `--archived` | Get only archived submissions |\n| `--active` | Get only active submissions |\n| `-l, --limit <value>` | Number of results (default 10, max 100) |\n| `-a, --after <value>` | Pagination cursor — pass `pagination.next` from previous response |\n| `--before <value>` | Pagination end cursor |\n\n```bash\ndocuseal submissions list\ndocuseal submissions list --status pending\ndocuseal submissions list \\\n  --template-id 1001 \\\n  --limit 50\ndocuseal submissions list --q \"john@example.com\"\n```\n\n---\n\n## `docuseal submissions retrieve <id>`\n\nGet a submission by ID.\n\n```bash\ndocuseal submissions retrieve 502\n```\n\n---\n\n## `docuseal submissions update <id>`\n\nUpdate a submission's name, expiration, or archive state.\n\n| Option | Description |\n|---|---|\n| `--name <value>` | Submission name |\n| `--expire-at <value>` | Expiration date/time (use `-d '{\"expire_at\":null}'` to clear) |\n| `--archive` | Archive the submission |\n| `--unarchive` | Unarchive the submission |\n\n```bash\ndocuseal submissions update 502 --name \"Q3 Contract\"\ndocuseal submissions update 502 --expire-at \"2025-12-31 23:59\"\ndocuseal submissions update 502 --unarchive\n```\n\n---\n\n## `docuseal submissions archive <id>`\n\nArchive a submission.\n\n```bash\ndocuseal submissions archive 502\n```\n\n---\n\n## `docuseal submissions create`\n\nCreate a submission from an existing template.\n\n| Option | Description |\n|---|---|\n| `--template-id <value>` | Template ID (required) |\n| `--send-email` | Send signature request emails (default) |\n| `--no-send-email` | Do not send signature request emails |\n| `--send-sms` | Send signature request via SMS |\n| `--order <value>` | `preserved` (default) or `random` |\n| `--expire-at <value>` | Expiration date/time |\n| `--completed-redirect-url <value>` | Redirect URL after completion |\n| `--bcc-completed <value>` | BCC address for signed documents |\n| `--reply-to <value>` | Reply-To email address |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `variables[key]` | Template variable |\n| `message[subject]` | Custom email subject |\n| `message[body]` | Custom email body |\n| `submitters[N][name]` | Full name |\n| `submitters[N][role]` | Role name (e.g. \"First Party\") |\n| `submitters[N][email]` | Email address (required) |\n| `submitters[N][phone]` | Phone in E.164 format (e.g. +1234567890) |\n| `submitters[N][values][fieldName]` | Pre-filled field value |\n| `submitters[N][external_id]` | App-specific ID |\n| `submitters[N][completed]` | Mark as completed (true/false) |\n| `submitters[N][metadata][key]` | Submitter metadata |\n| `submitters[N][send_email]` | Send email (true/false) |\n| `submitters[N][send_sms]` | Send SMS (true/false) |\n| `submitters[N][reply_to]` | Reply-To email |\n| `submitters[N][completed_redirect_url]` | Redirect URL after completion |\n| `submitters[N][order]` | Signing order (0, 1, 2...) |\n| `submitters[N][require_phone_2fa]` | Require phone 2FA (true/false) |\n| `submitters[N][require_email_2fa]` | Require email 2FA (true/false) |\n| `submitters[N][invite_by]` | Role name of inviting party |\n| `submitters[N][message][subject]` | Per-submitter email subject |\n| `submitters[N][message][body]` | Per-submitter email body |\n| `submitters[N][fields][M][name]` | Field name (required) |\n| `submitters[N][fields][M][default_value]` | Default value |\n| `submitters[N][fields][M][readonly]` | Read-only (true/false) |\n| `submitters[N][fields][M][required]` | Required (true/false) |\n| `submitters[N][roles][]` | Merge multiple roles |\n\n```bash\ndocuseal submissions create \\\n  --template-id 1001 \\\n  -d \"submitters[0][email]=john@acme.com\"\ndocuseal submissions create \\\n  --template-id 1001 \\\n  -d \"submitters[0][email]=a@b.com\" \\\n  -d \"submitters[1][email]=c@d.com\"\ndocuseal submissions create \\\n  --template-id 1001 \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"submitters[0][role]=Signer\"\ndocuseal submissions create \\\n  --template-id 1001 \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  --no-send-email\n```\n\n---\n\n## `docuseal submissions send-emails`\n\nSend a template to multiple recipients by email — creates one submission per recipient.\n\n| Option | Description |\n|---|---|\n| `--template-id <value>` | Template ID (required) |\n| `--emails <value>` | Comma-separated list of email addresses |\n| `--send-email` | Send signature request emails (default) |\n| `--no-send-email` | Do not send signature request emails |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `message[subject]` | Custom email subject |\n| `message[body]` | Custom email body |\n\n```bash\ndocuseal submissions send-emails \\\n  --template-id 1001 \\\n  --emails a@b.com,c@d.com\ndocuseal submissions send-emails \\\n  --template-id 1001 \\\n  --emails a@b.com \\\n  -d \"message[subject]=Please sign\" \\\n  -d \"message[body]=Hello\"\n```\n\n---\n\n## `docuseal submissions create-pdf` _(Pro)_\n\nCreate a submission directly from a PDF file (no pre-existing template needed).\n\nSee [PDF / DOCX Field Tags](field-tags.md) for embedded `{{...}}` field syntax in PDF and DOCX documents.\n\n| Option | Description |\n|---|---|\n| `--file <path>` | Path to local PDF file |\n| `--name <value>` | Submission name |\n| `--send-email` | Send signature request emails (default) |\n| `--no-send-email` | Do not send signature request emails |\n| `--send-sms` | Send signature request via SMS |\n| `--order <value>` | `preserved` or `random` |\n| `--flatten` | Remove PDF form fields |\n| `--merge-documents` | Merge into single PDF |\n| `--remove-tags` | Remove `{{text}}` tags (default) |\n| `--no-remove-tags` | Keep `{{text}}` tags in the PDF |\n| `--expire-at <value>` | Expiration date/time |\n| `--completed-redirect-url <value>` | Redirect URL after completion |\n| `--bcc-completed <value>` | BCC address for signed documents |\n| `--reply-to <value>` | Reply-To email address |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `template_ids[]` | Template ID to use alongside provided documents |\n| `documents[N][position]` | Position in template |\n| `submitters[N][name]` | Full name |\n| `submitters[N][role]` | Role name |\n| `submitters[N][email]` | Email address (required) |\n| `submitters[N][phone]` | Phone (E.164) |\n| `submitters[N][values][fieldName]` | Pre-filled field value |\n| `submitters[N][external_id]` | App-specific ID |\n| `submitters[N][completed]` | Mark as completed (true/false) |\n| `submitters[N][metadata][key]` | Submitter metadata |\n| `submitters[N][send_email]` | Send email (true/false) |\n| `submitters[N][send_sms]` | Send SMS (true/false) |\n| `submitters[N][reply_to]` | Reply-To email |\n| `submitters[N][completed_redirect_url]` | Redirect URL after completion |\n| `submitters[N][order]` | Signing order (0, 1, 2...) |\n| `submitters[N][require_phone_2fa]` | Require phone 2FA (true/false) |\n| `submitters[N][require_email_2fa]` | Require email 2FA (true/false) |\n| `submitters[N][invite_by]` | Role name of inviting party |\n| `submitters[N][fields][M][name]` | Field name (required) |\n| `submitters[N][fields][M][default_value]` | Default value |\n| `submitters[N][fields][M][readonly]` | Read-only (true/false) |\n| `submitters[N][fields][M][required]` | Required (true/false) |\n| `submitters[N][roles][]` | Merge multiple roles |\n| `message[subject]` | Custom email subject |\n| `message[body]` | Custom email body |\n\n```bash\ndocuseal submissions create-pdf \\\n  --file doc.pdf \\\n  -d \"submitters[0][email]=john@acme.com\"\ndocuseal submissions create-pdf \\\n  -d \"documents[0][file]=./doc.pdf\" \\\n  -d \"submitters[0][email]=john@acme.com\"\ndocuseal submissions create-pdf \\\n  -d \"documents[0][file]=https://...\" \\\n  -d \"submitters[0][email]=john@acme.com\"\n```\n\n---\n\n## `docuseal submissions create-docx` _(Pro)_\n\nCreate a submission directly from a DOCX file.\n\nSee [PDF / DOCX Field Tags](field-tags.md) for embedded `{{...}}` field syntax. See [DOCX Variables](docx-variables.md) for DOCX-specific variables, loops, and conditional content.\n\n| Option | Description |\n|---|---|\n| `--file <path>` | Path to local DOCX file |\n| `--name <value>` | Submission name |\n| `--send-email` | Send signature request emails (default) |\n| `--no-send-email` | Do not send signature request emails |\n| `--send-sms` | Send signature request via SMS |\n| `--merge-documents` | Merge into single PDF |\n| `--remove-tags` | Remove `{{text}}` tags (default) |\n| `--no-remove-tags` | Keep `{{text}}` tags |\n| `--order <value>` | `preserved` or `random` |\n| `--expire-at <value>` | Expiration date/time |\n| `--completed-redirect-url <value>` | Redirect URL after completion |\n| `--bcc-completed <value>` | BCC address for signed documents |\n| `--reply-to <value>` | Reply-To email address |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `variables[key]` | Template variable |\n| `template_ids[]` | Template ID to use alongside provided documents |\n| `documents[N][position]` | Position in template |\n\nSupports same `-d submitters[N]...` and `message` data params as `submissions create-pdf`.\n\n```bash\ndocuseal submissions create-docx \\\n  --file doc.docx \\\n  -d \"submitters[0][email]=john@acme.com\"\ndocuseal submissions create-docx \\\n  -d \"documents[0][file]=./doc.docx\" \\\n  -d \"submitters[0][email]=john@acme.com\"\ndocuseal submissions create-docx \\\n  -d \"documents[0][file]=https://...\" \\\n  -d \"submitters[0][email]=john@acme.com\"\n```\n\n---\n\n## `docuseal submissions create-html` _(Pro)_\n\nCreate a submission directly from HTML.\n\nSee [HTML Field Tags](html-fields.md) for supported tags, attributes, and `style` guidance.\n\n| Option | Description |\n|---|---|\n| `--file <path>` | Path to local HTML file |\n| `--name <value>` | Submission name |\n| `--send-email` | Send signature request emails (default) |\n| `--no-send-email` | Do not send signature request emails |\n| `--send-sms` | Send signature request via SMS |\n| `--merge-documents` | Merge into single PDF |\n| `--order <value>` | `preserved` or `random` |\n| `--expire-at <value>` | Expiration date/time |\n| `--completed-redirect-url <value>` | Redirect URL after completion |\n| `--bcc-completed <value>` | BCC address for signed documents |\n| `--reply-to <value>` | Reply-To email address |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `template_ids[]` | Template ID to use alongside provided documents |\n| `documents[N][name]` | Document name |\n| `documents[N][html]` | HTML template with field tags |\n| `documents[N][html_header]` | HTML header for every page |\n| `documents[N][html_footer]` | HTML footer for every page |\n| `documents[N][size]` | Page size (Letter, A4, ...) |\n| `documents[N][position]` | Position in template |\n\nSupports same `-d submitters[N]...` and `message` data params as `submissions create-pdf`.\n\n```bash\ndocuseal submissions create-html \\\n  --file template.html \\\n  -d \"submitters[0][email]=john@acme.com\"\ndocuseal submissions create-html \\\n  -d 'documents[0][html]=<p><text-field name=\"Name\"></text-field></p>' \\\n  -d \"submitters[0][email]=john@acme.com\"\n```\n\n---\n\n## `docuseal submissions documents <id>`\n\nGet documents for a submission.\n\n| Option | Description |\n|---|---|\n| `--merge` | Merge all documents into a single PDF |\n\n```bash\ndocuseal submissions documents 502\ndocuseal submissions documents 502 --merge\n```\n\nFile v1.0.7:references/submitters.md\n\n# Submitters\n\n## `docuseal submitters list`\n\nList all submitters.\n\n| Option | Description |\n|---|---|\n| `--submission-id <value>` | Filter by submission ID |\n| `--q <value>` | Filter by name, email, or phone partial match |\n| `--slug <value>` | Filter by unique slug |\n| `--external-id <value>` | Filter by external ID |\n| `--completed-after <value>` | Filter by completion date (after) |\n| `--completed-before <value>` | Filter by completion date (before) |\n| `-l, --limit <value>` | Number of results (default 10, max 100) |\n| `-a, --after <value>` | Pagination cursor — pass `pagination.next` from previous response |\n| `--before <value>` | Pagination end cursor |\n\n```bash\ndocuseal submitters list\ndocuseal submitters list --submission-id 502\ndocuseal submitters list --q \"john@example.com\"\n```\n\n---\n\n## `docuseal submitters retrieve <id>`\n\nGet a submitter by ID.\n\n```bash\ndocuseal submitters retrieve 201\n```\n\n---\n\n## `docuseal submitters update <id>`\n\nUpdate a submitter — change contact info, pre-fill fields, re-send notifications, or mark as completed.\n\n| Option | Description |\n|---|---|\n| `--name <value>` | Full name |\n| `--email <value>` | Email address |\n| `--phone <value>` | Phone in E.164 format (e.g. +1234567890) |\n| `--external-id <value>` | App-specific unique key |\n| `--send-email` | Re-send signature request email |\n| `--send-sms` | Re-send via SMS |\n| `--completed` | Mark as completed (auto-signed) |\n| `--reply-to <value>` | Reply-To email address |\n| `--completed-redirect-url <value>` | Redirect URL after completion |\n| `--require-phone-2fa` | Require phone 2FA |\n| `--require-email-2fa` | Require email 2FA |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `values[fieldName]` | Pre-filled field value |\n| `metadata[key]` | Submitter metadata |\n| `message[subject]` | Custom email subject |\n| `message[body]` | Custom email body |\n| `fields[N][name]` | Field name (required) |\n| `fields[N][default_value]` | Default value |\n| `fields[N][readonly]` | Read-only (true/false) |\n| `fields[N][required]` | Required (true/false) |\n\n```bash\ndocuseal submitters update 201 --email new@acme.com\ndocuseal submitters update 201 --completed\ndocuseal submitters update 201 \\\n  -d \"values[First Name]=John\" \\\n  -d \"metadata[department]=Sales\"\n```\n\nFile v1.0.7:references/templates.md\n\n# Templates\n\n## `docuseal templates list`\n\nList all templates.\n\n| Option | Description |\n|---|---|\n| `--q <value>` | Filter by name search |\n| `--folder <value>` | Filter by folder name |\n| `--slug <value>` | Filter by unique slug |\n| `--external-id <value>` | Filter by external ID |\n| `--archived` | Get only archived templates |\n| `--active` | Get only active templates |\n| `--shared` | List templates shared with test mode |\n| `-l, --limit <value>` | Number of results (default 10, max 100) |\n| `--after <value>` | Pagination cursor — pass `pagination.next` from previous response |\n| `--before <value>` | Pagination end cursor |\n\n```bash\ndocuseal templates list\ndocuseal templates list --folder Legal --limit 50\ndocuseal templates list --archived\n```\n\n---\n\n## `docuseal templates retrieve <id>`\n\nGet a template by ID.\n\n```bash\ndocuseal templates retrieve 1001\n```\n\n---\n\n## `docuseal templates update <id>`\n\nUpdate a template.\n\n| Option | Description |\n|---|---|\n| `--name <value>` | Template name |\n| `--folder-name <value>` | Move to folder |\n| `--archive` | Archive the template |\n| `--unarchive` | Unarchive the template |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `roles[]` | Submitter role name |\n\n```bash\ndocuseal templates update 1001 --name \"NDA v2\"\ndocuseal templates update 1001 --folder-name Contracts\ndocuseal templates update 1001 \\\n  -d \"roles[]=Signer\" \\\n  -d \"roles[]=Reviewer\"\ndocuseal templates update 1001 --unarchive\n```\n\n---\n\n## `docuseal templates archive <id>`\n\nArchive a template.\n\n```bash\ndocuseal templates archive 1001\n```\n\n---\n\n## `docuseal templates create-pdf` _(Pro)_\n\nCreate a template from a PDF file.\n\nSee [PDF / DOCX Field Tags](field-tags.md) for embedded `{{...}}` field syntax in PDF and DOCX documents.\n\n| Option | Description |\n|---|---|\n| `--file <path>` | Path to local PDF file |\n| `--name <value>` | Template name |\n| `--folder-name <value>` | Folder to create in |\n| `--external-id <value>` | App-specific unique key |\n| `--shared-link` | Make available via shared link |\n| `--no-shared-link` | Disable shared link |\n| `--flatten` | Remove PDF form fields |\n| `--remove-tags` | Remove `{{text}}` tags (default) |\n| `--no-remove-tags` | Keep `{{text}}` tags in the PDF |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `documents[N][name]` | Document name |\n| `documents[N][file]` | Local file path or URL |\n| `documents[N][fields][M][name]` | Field name |\n| `documents[N][fields][M][type]` | text, signature, initials, date, number, image, checkbox, multiple, file, radio, select, cells, stamp, payment, phone, verification, kba |\n| `documents[N][fields][M][role]` | Signer role name |\n| `documents[N][fields][M][required]` | Required (true/false) |\n| `documents[N][fields][M][title]` | Display title |\n| `documents[N][fields][M][description]` | Display description (Markdown) |\n| `documents[N][fields][M][areas][K][x/y/w/h]` | Position as fraction of page (0-1) |\n| `documents[N][fields][M][areas][K][page]` | Page number (starts at 1) |\n| `documents[N][fields][M][options][]` | Select/radio option values |\n\n```bash\ndocuseal templates create-pdf --file contract.pdf --name \"NDA\"\ndocuseal templates create-pdf --file form.pdf --folder-name Legal\ndocuseal templates create-pdf \\\n  -d \"documents[0][file]=./contract.pdf\" \\\n  --name \"NDA\"\ndocuseal templates create-pdf \\\n  -d \"documents[0][file]=https://...\" \\\n  --name \"NDA\"\ndocuseal templates create-pdf --file form.pdf \\\n  -d \"documents[0][fields][0][name]=Name\" \\\n  -d \"documents[0][fields][0][type]=text\"\n```\n\n---\n\n## `docuseal templates create-docx` _(Pro)_\n\nCreate a template from a Word DOCX file.\n\nSee [PDF / DOCX Field Tags](field-tags.md) for embedded `{{...}}` field syntax in PDF and DOCX documents.\n\n| Option | Description |\n|---|---|\n| `--file <path>` | Path to local DOCX file |\n| `--name <value>` | Template name |\n| `--folder-name <value>` | Folder to create in |\n| `--external-id <value>` | App-specific unique key |\n| `--shared-link` | Make available via shared link |\n| `--no-shared-link` | Disable shared link |\n\nSupports same `-d documents[N]...` data params as `create-pdf`.\n\n```bash\ndocuseal templates create-docx --file template.docx --name \"Contract\"\ndocuseal templates create-docx \\\n  -d \"documents[0][file]=./template.docx\" \\\n  --name \"Contract\"\ndocuseal templates create-docx \\\n  -d \"documents[0][file]=https://...\" \\\n  --name \"Contract\"\ndocuseal templates create-docx --file template.docx \\\n  -d \"documents[0][fields][0][name]=Name\" \\\n  -d \"documents[0][fields][0][role]=Signer\"\n```\n\n---\n\n## `docuseal templates create-html` _(Pro)_\n\nCreate a template from HTML.\n\nSee [HTML Field Tags](html-fields.md) for supported tags, attributes, and `style` guidance.\n\n| Option | Description |\n|---|---|\n| `--html <value>` | Inline HTML with field tags |\n| `--file <path>` | Path to local HTML file |\n| `--html-header <value>` | Header HTML (shown on every page) |\n| `--html-footer <value>` | Footer HTML (shown on every page) |\n| `--name <value>` | Template name |\n| `--size <value>` | Page size: Letter (default), A4, Legal, A3, A5, A6, Tabloid, Ledger, A0, A1, A2 |\n| `--folder-name <value>` | Folder to create in |\n| `--external-id <value>` | App-specific unique key |\n| `--shared-link` | Make available via shared link |\n| `--no-shared-link` | Disable shared link |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `documents[N][html]` | HTML with field tags |\n| `documents[N][name]` | Document name |\n\n```bash\ndocuseal templates create-html \\\n  --html '<p><text-field name=\"Name\"></text-field></p>' \\\n  --name \"Simple\"\ndocuseal templates create-html \\\n  --file template.html \\\n  --name \"Contract\"\ndocuseal templates create-html \\\n  -d 'documents[0][html]=<p><text-field name=\"Name\"></text-field></p>' \\\n  -d \"documents[0][name]=Page 1\"\n```\n\n---\n\n## `docuseal templates clone <id>`\n\nClone a template.\n\n| Option | Description |\n|---|---|\n| `--name <value>` | Name for the clone (default: original name + \"(Clone)\") |\n| `--folder-name <value>` | Folder to clone into |\n| `--external-id <value>` | App-specific unique key |\n\n```bash\ndocuseal templates clone 1001\ndocuseal templates clone 1001 --name \"NDA Copy\"\n```\n\n---\n\n## `docuseal templates merge` _(Pro)_\n\nMerge multiple templates into one.\n\n| Option | Description |\n|---|---|\n| `--name <value>` | Name for the merged template |\n| `--folder-name <value>` | Folder to place merged template |\n| `--external-id <value>` | App-specific unique key |\n| `--shared-link` | Make available via shared link |\n| `--no-shared-link` | Disable shared link |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `template_ids[]` | Template ID to include (required, repeatable) |\n| `roles[]` | Submitter role name |\n\n```bash\ndocuseal templates merge \\\n  -d \"template_ids[]=1001\" \\\n  -d \"template_ids[]=1002\"\ndocuseal templates merge \\\n  -d \"template_ids[]=1001\" \\\n  -d \"template_ids[]=1002\" \\\n  --name \"Combined\"\n```\n\n---\n\n## `docuseal templates update-documents <id>` _(Pro)_\n\nUpdate documents within an existing template.\n\n| Option | Description |\n|---|---|\n| `--merge` | Merge all docs into a single PDF |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `documents[N][name]` | Document name |\n| `documents[N][file]` | Local file path, URL, or base64-encoded content |\n| `documents[N][html]` | HTML template with field tags |\n| `documents[N][position]` | Position in template |\n| `documents[N][replace]` | Replace existing document (true/false) |\n| `documents[N][remove]` | Remove document (true/false) |\n\n```bash\ndocuseal templates update-documents 1001 \\\n  -d \"documents[0][file]=./contract.pdf\"\ndocuseal templates update-documents 1001 \\\n  -d \"documents[0][file]=https://...\"\ndocuseal templates update-documents 1001 \\\n  -d \"documents[0][file]=https://...\" \\\n  -d \"documents[0][name]=New Doc\"\n```\n\nFile v1.0.7:skill-card.md\n\n## Description: <br>\nManage DocuSeal e-signature workflows from the terminal via the DocuSeal CLI, including creating templates from PDF, DOCX, and HTML, sending documents for signing, tracking submissions, and updating submitters. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[alexbturchyn](https://clawhub.ai/user/alexbturchyn) <br>\n\n### License/Terms of Use: <br>\nMIT <br>\n\n\n## Use Case: <br>\nDevelopers, automation engineers, and operations teams use this skill to prepare DocuSeal CLI commands for document templates, signing submissions, submitter updates, and CI/CD-friendly e-signature workflows. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can help an agent operate DocuSeal with an API key and affect real signing workflows, including sending emails or SMS, archiving records, updating templates or submitters, and marking submitters completed. <br>\nMitigation: Review commands before execution, especially commands that send notifications or change workflow state, and use credentials scoped to the intended DocuSeal workspace. <br>\nRisk: The skill supports user-supplied local files, remote document URLs, and HTML content that are sent to the DocuSeal API for processing. <br>\nMitigation: Use trusted local files or approved HTTPS document URLs for signing materials and avoid submitting unreviewed sensitive content. <br>\n\n\n## Reference(s): <br>\n- [DocuSeal homepage](https://www.docuseal.com) <br>\n- [DocuSeal API settings](https://console.docuseal.com/api) <br>\n- [Templates reference](references/templates.md) <br>\n- [Submissions reference](references/submissions.md) <br>\n- [Submitters reference](references/submitters.md) <br>\n- [DOCX dynamic content variables](references/docx-variables.md) <br>\n- [PDF and DOCX field tags](references/field-tags.md) <br>\n- [HTML field tags](references/html-fields.md) <br>\n- [DocuSeal dynamic DOCX variables guide](https://www.docuseal.com/guides/use-dynamic-content-variables-in-docx-to-create-personalized-documents) <br>\n- [DocuSeal embedded field tags guide](https://www.docuseal.com/guides/use-embedded-text-field-tags-in-the-pdf-to-create-a-fillable-form) <br>\n- [DocuSeal HTML fillable form guide](https://www.docuseal.com/guides/create-pdf-document-fillable-form-with-html-api) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with inline shell commands; DocuSeal CLI command output is JSON.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires the docuseal CLI, DOCUSEAL_API_KEY, and DOCUSEAL_SERVER.] <br>\n\n## Skill Version(s): <br>\n1.0.7 (source: artifact/SKILL.md frontmatter and server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.6: 9 files, 13887 bytes\n\nFiles: references/docx-variables.md (2395b), references/field-tags.md (3718b), references/html-fields.md (5456b), references/submissions.md (10878b), references/submitters.md (2270b), references/templates.md (7711b), skill-card.md (2964b), SKILL.md (4569b), _meta.json (127b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: docuseal-cli\ndescription: >\n  Manage DocuSeal e-signature workflows from the terminal via the DocuSeal CLI -\n  create templates from PDF/DOCX/HTML, send documents for signing, track submissions,\n  and update submitters. Use when the user wants to run DocuSeal commands in the shell,\n  scripts, or CI/CD pipelines. Always load this skill before running `docuseal` commands.\nlicense: MIT\nmetadata:\n  author: DocuSeal\n  version: \"1.0.6\"\n  homepage: https://www.docuseal.com\n  source: https://github.com/docusealco/docuseal-cli\n  openclaw:\n    emoji: \"📝\"\n    requires:\n      env:\n        - DOCUSEAL_API_KEY\n        - DOCUSEAL_SERVER\n      bins:\n        - docuseal\n      primaryEnv: DOCUSEAL_API_KEY\n    install:\n      - id: npm\n        kind: npm\n        package: docuseal\n        bins:\n          - docuseal\n        label: Install DocuSeal CLI (npm)\n---\n\n## Agent Protocol\n\n**Rules for agents:**\n- Supply ALL required flags — the CLI will not prompt for missing parameters.\n- Output is always JSON.\n- Use `-d key=value` (bracket notation) or `-d '{\"..\": \"..\"}'` (JSON) for body and array parameters.\n\n## Authentication\n\nSet environment variables:\n- `DOCUSEAL_API_KEY` — API key (required). Get yours at https://console.docuseal.com/api\n- `DOCUSEAL_SERVER` — `global` (default), `europe`, or full URL for self-hosted (e.g. `https://docuseal.yourdomain.com`)\n\n## Available Commands\n\n| Command Group | What it does |\n|---|---|\n| `templates` | list, retrieve, update, archive, create-pdf, create-docx, create-html, clone, merge, update-documents |\n| `submissions` | list, retrieve, archive, create, send-emails, create-pdf, create-docx, create-html, documents |\n| `submitters` | list, retrieve, update |\n\nRead the matching reference file for detailed flags and examples.\n\n## Common Mistakes\n\n| # | Mistake | Fix |\n|---|---|---|\n| 1 | **Forgetting `-d template_id=<id>` on `submissions create`** | `--template-id` is a flag; submitters and other body params go via `-d` |\n| 2 | **Passing a plain file path as a URL** | `--file` accepts a local path; for remote files use `-d \"documents[0][file]=https://...\"` |\n| 3 | **Expecting array params as comma-separated** | Arrays use bracket notation: `-d \"template_ids[]=1\"` `-d \"template_ids[]=2\"` |\n| 4 | **Using `templates create-pdf` without a Pro plan** | Commands marked _(Pro)_ require a DocuSeal Pro subscription |\n| 5 | **Sending to multiple recipients with `submissions create`** | Use `submissions send-emails --emails a@b.com,c@d.com` for bulk; `submissions create` is per-submitter |\n\n## Security\n\nThe CLI accepts user-provided file paths, remote URLs (`documents[0][file]=https://...`), and HTML content as template input. This is by design — all content originates from the authenticated user and is sent directly to the DocuSeal API over HTTPS. The CLI does not fetch, render, or execute remote content locally; it passes references to the server for processing. No user input is interpolated into shell commands.\n\n## Common Patterns\n\n**List templates:**\n```bash\ndocuseal templates list --q \"NDA\" --limit 20\n```\n\n**Create a template from a PDF and send for signing:**\n```bash\ndocuseal templates create-pdf --file contract.pdf --name \"NDA\"\ndocuseal submissions send-emails --template-id 1001 --emails signer@example.com\n```\n\n**Create a submission with pre-filled fields (bracket notation):**\n```bash\ndocuseal submissions create --template-id 1001 \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"submitters[0][values][Company Name]=Acme Corp\"\n```\n\n**Create a submission with pre-filled fields (JSON):**\n```bash\ndocuseal submissions create --template-id 1001 \\\n  -d '{\"submitters\": [{\"email\": \"john@acme.com\", \"values\": {\"Company Name\": \"Acme Corp\"}}]}'\n```\n\n**Check signing status:**\n```bash\ndocuseal submissions list --template-id 1001 --status pending\n```\n\n**Update a submitter:**\n```bash\ndocuseal submitters update 201 --email new@acme.com --send-email\n```\n\n## When to Load References\n\n- **Creating or managing templates** → [references/templates.md](references/templates.md)\n- **Sending documents for signing or tracking status** → [references/submissions.md](references/submissions.md)\n- **Using dynamic content variables in DOCX** → [references/docx-variables.md](references/docx-variables.md)\n- **Embedding field tags in PDF/DOCX** → [references/field-tags.md](references/field-tags.md)\n- **Writing HTML templates with field tags** → [references/html-fields.md](references/html-fields.md)\n- **Listing or updating signers** → [references/submitters.md](references/submitters.md)\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn78xdk1k8ykt39nqmweh0q729825c5t\",\n  \"slug\": \"docuseal\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1781283136662\n}\n\nFile v1.0.6:references/docx-variables.md\n\n# DOCX Dynamic Content Variables\n\nDocuSeal supports dynamic content variables in DOCX templates. Variables are replaced with provided values when creating a submission via `submissions create-docx` using the `-d \"variables[key]=value\"` syntax.\n\nFull guide: https://www.docuseal.com/guides/use-dynamic-content-variables-in-docx-to-create-personalized-documents\n\n## Syntax\n\nVariables use double-bracket notation: `[[variable_name]]`\n\n## Simple Variables\n\n```\n[[signer_name]]\n[[company_name]]\n[[contract_date]]\n```\n\nReplaced with the corresponding value passed via `variables`.\n\n## Conditional Logic\n\n**If:**\n```\n[[if:is_vip]] Thank you for being a valued VIP customer! [[end]]\n```\n\n**If/else:**\n```\n[[if:is_vip]] Thank you for being a valued VIP customer! [[else]] Thank you for being our customer. [[end:is_vip]]\n```\n\nThe condition variable is a boolean.\n\n## Loops\n\nIterate over arrays using `[[for:array_name]]`:\n\n```\n[[for:items]] - [[item.name]] ([[item.quantity]]) [[end]]\n```\n\nTable rows:\n```\n[[for:invoices]]\n| [[invoice.name]] | [[invoice.quantity]] | [[invoice.price]] | [[invoice.total]] |\n[[end]]\n```\n\nInside the loop, access properties via singular dot notation: `items` array → `item.name`.\n\n## HTML Content Variables\n\nVariable values can contain styled HTML rendered directly in the DOCX:\n\n**Paragraphs:**\n```html\n<p><b style=\"color: #1976D2; text-decoration: underline;\">Bold blue text</b> normal text.</p>\n```\n\n**Lists:**\n```html\n<ul>\n  <li>Item one</li>\n  <li>Item two</li>\n</ul>\n```\n\n**Tables:**\n```html\n<table border=\"1\" style=\"border-collapse: collapse;\">\n  <tr><th style=\"padding: 8px;\"><b>Item</b></th><th><b>Price</b></th></tr>\n  <tr><td style=\"padding: 8px;\">Widget</td><td>$50</td></tr>\n</table>\n```\n\n**Links:**\n```html\n<a href=\"https://example.com\" style=\"color: #1976D2;\">Example Link</a>\n```\n\n## Using with CLI\n\n```bash\n# Simple variables\ndocuseal submissions create-docx --file contract.docx \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"variables[signer_name]=John Doe\" \\\n  -d \"variables[company_name]=Acme Corp\"\n\n# Boolean for conditionals\ndocuseal submissions create-docx --file contract.docx \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"variables[is_vip]=true\"\n\n# HTML content\ndocuseal submissions create-docx --file contract.docx \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d 'variables[description]=<p><b>Important</b> details here.</p>'\n```\n\nFile v1.0.6:references/field-tags.md\n\n# PDF / DOCX Field Tags\n\nDocuSeal uses embedded text tags in PDF and DOCX documents to define fillable fields. Tags are placed directly in the document text and are automatically detected when uploaded via `templates create-pdf`, `templates create-docx`, `submissions create-pdf`, or `submissions create-docx`.\n\nFull guide: https://www.docuseal.com/guides/use-embedded-text-field-tags-in-the-pdf-to-create-a-fillable-form\n\n## Syntax\n\nTags use double curly braces. Attributes are separated by semicolons:\n\n```\n{{Field Name}}\n{{Field Name;type=signature}}\n{{Field Name;type=date;role=First Party;required=true}}\n```\n\n## Field Types\n\n| Type | Description |\n|---|---|\n| `text` | Text input (default) |\n| `signature` | Signature capture |\n| `initials` | Initials capture |\n| `date` | Date picker |\n| `datenow` | Auto-filled signing date (read-only) |\n| `image` | Image upload |\n| `file` | File upload |\n| `payment` | Payment field |\n| `stamp` | Document stamp |\n| `select` | Dropdown menu |\n| `checkbox` | Boolean checkbox |\n| `multiple` | Multiple selection |\n| `radio` | Radio button |\n| `phone` | Phone number (2FA) |\n| `verification` | Identity verification |\n| `kba` | Knowledge-based authentication |\n\n## Attributes\n\n| Attribute | Description |\n|---|---|\n| `name` | Field name (the text before the first `;`) |\n| `type` | Field type (default: `text`) |\n| `role` | Signer role for multi-party signing |\n| `default` | Pre-filled value |\n| `required` | Required field (`true` by default) |\n| `readonly` | Prevent editing (`false` by default) |\n| `title` | Display label in signing UI |\n| `description` | Help text in signing UI |\n| `options` | Comma-separated values for select/radio/multiple |\n| `option` | Single option value for radio buttons |\n| `condition` | Conditional visibility: `FieldName:value` |\n| `width` | Width in pixels |\n| `height` | Height in pixels |\n| `hidden` | Hide field (`true`/`false`) |\n| `mask` | Mask sensitive data (`true`/`false`) |\n\n## Text Formatting\n\n| Attribute | Values |\n|---|---|\n| `font` | `Times`, `Helvetica`, `Courier` |\n| `font_size` | Numeric value |\n| `font_type` | `bold`, `italic`, `bold_italic` |\n| `color` | `blue`, `red`, `black` (default) |\n| `align` | `left`, `center`, `right` |\n| `valign` | `top`, `center`, `bottom` |\n\n## Type-Specific Attributes\n\n| Attribute | Applies to | Values |\n|---|---|---|\n| `format` | date | `DD/MM/YYYY`, `MM/DD/YYYY` (default) |\n| `format` | signature | `drawn`, `typed`, `drawn_or_typed` (default), `upload` |\n| `format` | number | `usd`, `eur`, `gbp` |\n| `min` / `max` | date, number | Min/max allowed value |\n| `method` | verification | `aes`, `qes` |\n\n## Examples\n\n**Basic fields:**\n```\n{{Full Name}}\n{{Email;title=Email Address}}\n{{Sign;type=signature}}\n{{Date;type=date;format=DD/MM/YYYY}}\n{{Today;type=datenow}}\n```\n\n**Multi-role signing:**\n```\n{{Landlord Name;role=Landlord}}\n{{Landlord Sign;type=signature;role=Landlord}}\n{{Tenant Name;role=Tenant}}\n{{Tenant Sign;type=signature;role=Tenant}}\n```\n\n**Selection fields:**\n```\n{{Department;type=select;options=Engineering,Sales,Marketing,HR}}\n{{Priority;type=radio;option=Low}}\n{{Priority;type=radio;option=Medium}}\n{{Priority;type=radio;option=High}}\n{{type=checkbox}} I agree to the terms\n```\n\n**Conditional fields:**\n```\n{{Agree;type=checkbox}}\n{{Details;condition=Agree:true}}\n```\n\n**Using with CLI:**\n```bash\ndocuseal templates create-pdf --file contract.pdf --name \"Contract\"\ndocuseal templates create-docx --file contract.docx --name \"Contract\"\ndocuseal submissions create-pdf --file contract.pdf \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"submitters[0][role]=Tenant\"\n```\n\n## Resources\n\n- Example PDF with field tags: https://www.docuseal.com/examples/fieldtags.pdf\n\nFile v1.0.6:references/html-fields.md\n\n# HTML Field Tags\n\nDocuSeal uses custom HTML tags to define fillable fields in templates. These tags can be used in `--html` or `--file` values for `templates create-html` and `submissions create-html` commands.\n\nFull guide: https://www.docuseal.com/guides/create-pdf-document-fillable-form-with-html-api\n\n## Available Tags\n\n| Tag | Purpose |\n|---|---|\n| `<text-field>` | Text input |\n| `<signature-field>` | Signature capture |\n| `<date-field>` | Date picker |\n| `<image-field>` | Image upload |\n| `<initials-field>` | Initials capture |\n| `<phone-field>` | Phone number input |\n| `<stamp-field>` | Document stamp |\n| `<file-field>` | File attachment |\n| `<checkbox-field>` | Boolean checkbox |\n| `<radio-field>` | Single option selection |\n| `<select-field>` | Dropdown menu |\n| `<multi-select-field>` | Multiple selection dropdown |\n| `<payment-field>` | Payment processing |\n| `<verification-field>` | Identity verification |\n\n## Common Attributes\n\nAll tags support:\n\n| Attribute | Description |\n|---|---|\n| `name` | Field identifier (required) |\n| `role` | Signer role assignment |\n| `default` | Pre-filled value |\n| `required` | Required field, `true` by default |\n| `readonly` | Prevent editing by signer |\n| `title` | Display label |\n| `description` | Help text shown to signer |\n| `condition` | Conditional visibility, e.g. `\"Status:active\"` |\n| `style` | CSS styling for field size and placement. Set `width` and `height` so the field renders on the page. |\n\n**Important:** HTML field tags should usually include a `style` attribute with at least `width` and `height`. Without explicit dimensions, the rendered field can collapse and not appear where you expect in the document. For inline fields, `display: inline-block` is commonly used.\n\n## Style Examples\n\nUse `style=\"\"` to control field size and layout:\n\n```html\n<text-field name=\"Full Name\" role=\"Tenant\" style=\"width: 160px; height: 20px; display: inline-block;\"></text-field>\n<signature-field name=\"Tenant Signature\" role=\"Tenant\" style=\"width: 160px; height: 80px; display: inline-block;\"></signature-field>\n```\n\n## Text Formatting Attributes\n\n| Attribute | Values |\n|---|---|\n| `font` | `Times`, `Helvetica`, `Courier` |\n| `font-size` | Numeric value |\n| `font-type` | `bold`, `italic`, `bold_italic` |\n| `color` | `blue`, `red`, `black` (default) |\n| `align` | `left`, `center`, `right` |\n| `valign` | `top`, `center`, `bottom` |\n| `mask` | `true` / `false` (hide sensitive data) |\n\n## Type-Specific Attributes\n\n**`<select-field>`, `<multi-select-field>`, `<radio-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `options` | Comma-separated list: `\"opt1,opt2,opt3\"` |\n\n**`<date-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `min` / `max` | Min/max date |\n| `format` | `DD/MM/YYYY` or `MM/DD/YYYY` |\n\n**`<signature-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `format` | `drawn`, `typed`, `drawn_or_typed`, `upload` |\n\n**`<payment-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `price` | Amount |\n| `currency` | Currency code (e.g. `USD`) |\n\n**`<verification-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `method` | `aes` or `qes` |\n\n## Examples\n\n**Simple contract:**\n```html\n<h1>Non-Disclosure Agreement</h1>\n<p>This agreement is entered by\n  <text-field name=\"Company Name\" role=\"Company\" style=\"width: 180px; height: 20px; display: inline-block;\"></text-field>\n  and\n  <text-field name=\"Recipient Name\" role=\"Recipient\" style=\"width: 180px; height: 20px; display: inline-block;\"></text-field>.\n</p>\n\n<p>Date:\n  <date-field name=\"Date\" format=\"MM/DD/YYYY\" style=\"width: 110px; height: 20px; display: inline-block;\"></date-field>\n</p>\n\n<p>Company signature:</p>\n<signature-field name=\"Company Signature\" role=\"Company\" style=\"width: 180px; height: 80px; display: inline-block;\"></signature-field>\n\n<p>Recipient signature:</p>\n<signature-field name=\"Recipient Signature\" role=\"Recipient\" style=\"width: 180px; height: 80px; display: inline-block;\"></signature-field>\n```\n\n**Form with various field types:**\n```html\n<h2>Application Form</h2>\n<p>Full Name: <text-field name=\"Full Name\" required=\"true\" style=\"width: 220px; height: 20px; display: inline-block;\"></text-field></p>\n<p>Phone: <phone-field name=\"Phone\" style=\"width: 160px; height: 20px; display: inline-block;\"></phone-field></p>\n<p>Department: <select-field name=\"Department\" options=\"Engineering,Sales,Marketing,HR\" style=\"width: 180px; height: 24px; display: inline-block;\"></select-field></p>\n<p>Start Date: <date-field name=\"Start Date\" min=\"2024-01-01\" style=\"width: 120px; height: 20px; display: inline-block;\"></date-field></p>\n<p>Photo ID: <image-field name=\"Photo ID\" style=\"width: 140px; height: 90px; display: inline-block;\"></image-field></p>\n<p>I agree to the terms: <checkbox-field name=\"Terms\" required=\"true\" style=\"width: 16px; height: 16px; display: inline-block;\"></checkbox-field></p>\n<signature-field name=\"Signature\" style=\"width: 180px; height: 80px; display: inline-block;\"></signature-field>\n```\n\n**Using with CLI:**\n```bash\ndocuseal templates create-html --name \"NDA\" --html '<h1>NDA</h1>\n<p>Party: <text-field name=\"Name\" style=\"width: 180px; height: 20px; display: inline-block;\"></text-field></p>\n<signature-field name=\"Signature\" style=\"width: 180px; height: 80px; display: inline-block;\"></signature-field>'\n\ndocuseal templates create-html --name \"NDA\" --file nda.html\n\ndocuseal submissions create-html --file nda.html \\\n  -d \"submitters[0][email]=john@acme.com\"\n```\n\nFile v1.0.6:references/submissions.md\n\n# Submissions\n\n## `docuseal submissions list`\n\nList all submissions.\n\n| Option | Description |\n|---|---|\n| `--template-id <value>` | Filter by template ID |\n| `--status <value>` | pending, completed, declined, expired |\n| `--q <value>` | Filter by submitter name, email, or phone |\n| `--slug <value>` | Filter by unique slug |\n| `--template-folder <value>` | Filter by template folder name |\n| `--archived` | Get only archived submissions |\n| `--active` | Get only active submissions |\n| `-l, --limit <value>` | Number of results (default 10, max 100) |\n| `-a, --after <value>` | Pagination cursor — pass `pagination.next` from previous response |\n| `--before <value>` | Pagination end cursor |\n\n```bash\ndocuseal submissions list\ndocuseal submissions list --status pending\ndocuseal submissions list \\\n  --template-id 1001 \\\n  --limit 50\ndocuseal submissions list --q \"john@example.com\"\n```\n\n---\n\n## `docuseal submissions retrieve <id>`\n\nGet a submission by ID.\n\n```bash\ndocuseal submissions retrieve 502\n```\n\n---\n\n## `docuseal submissions archive <id>`\n\nArchive a submission.\n\n```bash\ndocuseal submissions archive 502\n```\n\n---\n\n## `docuseal submissions create`\n\nCreate a submission from an existing template.\n\n| Option | Description |\n|---|---|\n| `--template-id <value>` | Template ID (required) |\n| `--send-email` | Send signature request emails (default) |\n| `--no-send-email` | Do not send signature request emails |\n| `--send-sms` | Send signature request via SMS |\n| `--order <value>` | `preserved` (default) or `random` |\n| `--expire-at <value>` | Expiration date/time |\n| `--completed-redirect-url <value>` | Redirect URL after completion |\n| `--bcc-completed <value>` | BCC address for signed documents |\n| `--reply-to <value>` | Reply-To email address |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `variables[key]` | Template variable |\n| `message[subject]` | Custom email subject |\n| `message[body]` | Custom email body |\n| `submitters[N][name]` | Full name |\n| `submitters[N][role]` | Role name (e.g. \"First Party\") |\n| `submitters[N][email]` | Email address (required) |\n| `submitters[N][phone]` | Phone in E.164 format (e.g. +1234567890) |\n| `submitters[N][values][fieldName]` | Pre-filled field value |\n| `submitters[N][external_id]` | App-specific ID |\n| `submitters[N][completed]` | Mark as completed (true/false) |\n| `submitters[N][metadata][key]` | Submitter metadata |\n| `submitters[N][send_email]` | Send email (true/false) |\n| `submitters[N][send_sms]` | Send SMS (true/false) |\n| `submitters[N][reply_to]` | Reply-To email |\n| `submitters[N][completed_redirect_url]` | Redirect URL after completion |\n| `submitters[N][order]` | Signing order (0, 1, 2...) |\n| `submitters[N][require_phone_2fa]` | Require phone 2FA (true/false) |\n| `submitters[N][require_email_2fa]` | Require email 2FA (true/false) |\n| `submitters[N][message][subject]` | Per-submitter email subject |\n| `submitters[N][message][body]` | Per-submitter email body |\n| `submitters[N][fields][M][name]` | Field name (required) |\n| `submitters[N][fields][M][default_value]` | Default value |\n| `submitters[N][fields][M][readonly]` | Read-only (true/false) |\n| `submitters[N][fields][M][required]` | Required (true/false) |\n| `submitters[N][roles][]` | Merge multiple roles |\n\n```bash\ndocuseal submissions create \\\n  --template-id 1001 \\\n  -d \"submitters[0][email]=john@acme.com\"\ndocuseal submissions create \\\n  --template-id 1001 \\\n  -d \"submitters[0][email]=a@b.com\" \\\n  -d \"submitters[1][email]=c@d.com\"\ndocuseal submissions create \\\n  --template-id 1001 \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"submitters[0][role]=Signer\"\ndocuseal submissions create \\\n  --template-id 1001 \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  --no-send-email\n```\n\n---\n\n## `docuseal submissions send-emails`\n\nSend a template to multiple recipients by email — creates one submission per recipient.\n\n| Option | Description |\n|---|---|\n| `--template-id <value>` | Template ID (required) |\n| `--emails <value>` | Comma-separated list of email addresses |\n| `--send-email` | Send signature request emails (default) |\n| `--no-send-email` | Do not send signature request emails |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `message[subject]` | Custom email subject |\n| `message[body]` | Custom email body |\n\n```bash\ndocuseal submissions send-emails \\\n  --template-id 1001 \\\n  --emails a@b.com,c@d.com\ndocuseal submissions send-emails \\\n  --template-id 1001 \\\n  --emails a@b.com \\\n  -d \"message[subject]=Please sign\" \\\n  -d \"message[body]=Hello\"\n```\n\n---\n\n## `docuseal submissions create-pdf` _(Pro)_\n\nCreate a submission directly from a PDF file (no pre-existing template needed).\n\nSee [PDF / DOCX Field Tags](field-tags.md) for embedded `{{...}}` field syntax in PDF and DOCX documents.\n\n| Option | Description |\n|---|---|\n| `--file <path>` | Path to local PDF file |\n| `--name <value>` | Submission name |\n| `--send-email` | Send signature request emails (default) |\n| `--no-send-email` | Do not send signature request emails |\n| `--send-sms` | Send signature request via SMS |\n| `--order <value>` | `preserved` or `random` |\n| `--flatten` | Remove PDF form fields |\n| `--merge-documents` | Merge into single PDF |\n| `--remove-tags` | Remove `{{text}}` tags (default) |\n| `--no-remove-tags` | Keep `{{text}}` tags in the PDF |\n| `--expire-at <value>` | Expiration date/time |\n| `--completed-redirect-url <value>` | Redirect URL after completion |\n| `--bcc-completed <value>` | BCC address for signed documents |\n| `--reply-to <value>` | Reply-To email address |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `template_ids[]` | Template ID to use alongside provided documents |\n| `documents[N][position]` | Position in template |\n| `submitters[N][name]` | Full name |\n| `submitters[N][role]` | Role name |\n| `submitters[N][email]` | Email address (required) |\n| `submitters[N][phone]` | Phone (E.164) |\n| `submitters[N][values][fieldName]` | Pre-filled field value |\n| `submitters[N][external_id]` | App-specific ID |\n| `submitters[N][completed]` | Mark as completed (true/false) |\n| `submitters[N][metadata][key]` | Submitter metadata |\n| `submitters[N][send_email]` | Send email (true/false) |\n| `submitters[N][send_sms]` | Send SMS (true/false) |\n| `submitters[N][reply_to]` | Reply-To email |\n| `submitters[N][completed_redirect_url]` | Redirect URL after completion |\n| `submitters[N][order]` | Signing order (0, 1, 2...) |\n| `submitters[N][require_phone_2fa]` | Require phone 2FA (true/false) |\n| `submitters[N][require_email_2fa]` | Require email 2FA (true/false) |\n| `submitters[N][invite_by]` | Role name of inviting party |\n| `submitters[N][fields][M][name]` | Field name (required) |\n| `submitters[N][fields][M][default_value]` | Default value |\n| `submitters[N][fields][M][readonly]` | Read-only (true/false) |\n| `submitters[N][fields][M][required]` | Required (true/false) |\n| `submitters[N][roles][]` | Merge multiple roles |\n| `message[subject]` | Custom email subject |\n| `message[body]` | Custom email body |\n\n```bash\ndocuseal submissions create-pdf \\\n  --file doc.pdf \\\n  -d \"submitters[0][email]=john@acme.com\"\ndocuseal submissions create-pdf \\\n  -d \"documents[0][file]=./doc.pdf\" \\\n  -d \"submitters[0][email]=john@acme.com\"\ndocuseal submissions create-pdf \\\n  -d \"documents[0][file]=https://...\" \\\n  -d \"submitters[0][email]=john@acme.com\"\n```\n\n---\n\n## `docuseal submissions create-docx` _(Pro)_\n\nCreate a submission directly from a DOCX file.\n\nSee [PDF / DOCX Field Tags](field-tags.md) for embedded `{{...}}` field syntax. See [DOCX Variables](docx-variables.md) for DOCX-specific variables, loops, and conditional content.\n\n| Option | Description |\n|---|---|\n| `--file <path>` | Path to local DOCX file |\n| `--name <value>` | Submission name |\n| `--send-email` | Send signature request emails (default) |\n| `--no-send-email` | Do not send signature request emails |\n| `--send-sms` | Send signature request via SMS |\n| `--merge-documents` | Merge into single PDF |\n| `--remove-tags` | Remove `{{text}}` tags (default) |\n| `--no-remove-tags` | Keep `{{text}}` tags |\n| `--order <value>` | `preserved` or `random` |\n| `--expire-at <value>` | Expiration date/time |\n| `--completed-redirect-url <value>` | Redirect URL after completion |\n| `--bcc-completed <value>` | BCC address for signed documents |\n| `--reply-to <value>` | Reply-To email address |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `variables[key]` | Template variable |\n| `template_ids[]` | Template ID to use alongside provided documents |\n| `documents[N][position]` | Position in template |\n\nSupports same `-d submitters[N]...` and `message` data params as `submissions create-pdf`.\n\n```bash\ndocuseal submissions create-docx \\\n  --file doc.docx \\\n  -d \"submitters[0][email]=john@acme.com\"\ndocuseal submissions create-docx \\\n  -d \"documents[0][file]=./doc.docx\" \\\n  -d \"submitters[0][email]=john@acme.com\"\ndocuseal submissions create-docx \\\n  -d \"documents[0][file]=https://...\" \\\n  -d \"submitters[0][email]=john@acme.com\"\n```\n\n---\n\n## `docuseal submissions create-html` _(Pro)_\n\nCreate a submission directly from HTML.\n\nSee [HTML Field Tags](html-fields.md) for supported tags, attributes, and `style` guidance.\n\n| Option | Description |\n|---|---|\n| `--file <path>` | Path to local HTML file |\n| `--name <value>` | Submission name |\n| `--send-email` | Send signature request emails (default) |\n| `--no-send-email` | Do not send signature request emails |\n| `--send-sms` | Send signature request via SMS |\n| `--merge-documents` | Merge into single PDF |\n| `--order <value>` | `preserved` or `random` |\n| `--expire-at <value>` | Expiration date/time |\n| `--completed-redirect-url <value>` | Redirect URL after completion |\n| `--bcc-completed <value>` | BCC address for signed documents |\n| `--reply-to <value>` | Reply-To email address |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `template_ids[]` | Template ID to use alongside provided documents |\n| `documents[N][name]` | Document name |\n| `documents[N][html]` | HTML template with field tags |\n| `documents[N][html_header]` | HTML header for every page |\n| `documents[N][html_footer]` | HTML footer for every page |\n| `documents[N][size]` | Page size (Letter, A4, ...) |\n| `documents[N][position]` | Position in template |\n\nSupports same `-d submitters[N]...` and `message` data params as `submissions create-pdf`.\n\n```bash\ndocuseal submissions create-html \\\n  --file template.html \\\n  -d \"submitters[0][email]=john@acme.com\"\ndocuseal submissions create-html \\\n  -d 'documents[0][html]=<p><text-field name=\"Name\"></text-field></p>' \\\n  -d \"submitters[0][email]=john@acme.com\"\n```\n\n---\n\n## `docuseal submissions documents <id>`\n\nGet documents for a submission.\n\n| Option | Description |\n|---|---|\n| `--merge` | Merge all documents into a single PDF |\n\n```bash\ndocuseal submissions documents 502\ndocuseal submissions documents 502 --merge\n```\n\nFile v1.0.6:references/submitters.md\n\n# Submitters\n\n## `docuseal submitters list`\n\nList all submitters.\n\n| Option | Description |\n|---|---|\n| `--submission-id <value>` | Filter by submission ID |\n| `--q <value>` | Filter by name, email, or phone partial match |\n| `--slug <value>` | Filter by unique slug |\n| `--external-id <value>` | Filter by external ID |\n| `--completed-after <value>` | Filter by completion date (after) |\n| `--completed-before <value>` | Filter by completion date (before) |\n| `-l, --limit <value>` | Number of results (default 10, max 100) |\n| `-a, --after <value>` | Pagination cursor — pass `pagination.next` from previous response |\n| `--before <value>` | Pagination end cursor |\n\n```bash\ndocuseal submitters list\ndocuseal submitters list --submission-id 502\ndocuseal submitters list --q \"john@example.com\"\n```\n\n---\n\n## `docuseal submitters retrieve <id>`\n\nGet a submitter by ID.\n\n```bash\ndocuseal submitters retrieve 201\n```\n\n---\n\n## `docuseal submitters update <id>`\n\nUpdate a submitter — change contact info, pre-fill fields, re-send notifications, or mark as completed.\n\n| Option | Description |\n|---|---|\n| `--name <value>` | Full name |\n| `--email <value>` | Email address |\n| `--phone <value>` | Phone in E.164 format (e.g. +1234567890) |\n| `--external-id <value>` | App-specific unique key |\n| `--send-email` | Re-send signature request email |\n| `--send-sms` | Re-send via SMS |\n| `--completed` | Mark as completed (auto-signed) |\n| `--reply-to <value>` | Reply-To email address |\n| `--completed-redirect-url <value>` | Redirect URL after completion |\n| `--require-phone-2fa` | Require phone 2FA |\n| `--require-email-2fa` | Require email 2FA |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `values[fieldName]` | Pre-filled field value |\n| `metadata[key]` | Submitter metadata |\n| `message[subject]` | Custom email subject |\n| `message[body]` | Custom email body |\n| `fields[N][name]` | Field name (required) |\n| `fields[N][default_value]` | Default value |\n| `fields[N][readonly]` | Read-only (true/false) |\n| `fields[N][required]` | Required (true/false) |\n\n```bash\ndocuseal submitters update 201 --email new@acme.com\ndocuseal submitters update 201 --completed\ndocuseal submitters update 201 \\\n  -d \"values[First Name]=John\" \\\n  -d \"metadata[department]=Sales\"\n```\n\nFile v1.0.6:references/templates.md\n\n# Templates\n\n## `docuseal templates list`\n\nList all templates.\n\n| Option | Description |\n|---|---|\n| `--q <value>` | Filter by name search |\n| `--folder <value>` | Filter by folder name |\n| `--slug <value>` | Filter by unique slug |\n| `--external-id <value>` | Filter by external ID |\n| `--archived` | Get only archived templates |\n| `--active` | Get only active templates |\n| `-l, --limit <value>` | Number of results (default 10, max 100) |\n| `--after <value>` | Pagination cursor — pass `pagination.next` from previous response |\n| `--before <value>` | Pagination end cursor |\n\n```bash\ndocuseal templates list\ndocuseal templates list --folder Legal --limit 50\ndocuseal templates list --archived\n```\n\n---\n\n## `docuseal templates retrieve <id>`\n\nGet a template by ID.\n\n```bash\ndocuseal templates retrieve 1001\n```\n\n---\n\n## `docuseal templates update <id>`\n\nUpdate a template.\n\n| Option | Description |\n|---|---|\n| `--name <value>` | Template name |\n| `--folder-name <value>` | Move to folder |\n| `--archive` | Archive the template |\n| `--unarchive` | Unarchive the template |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `roles[]` | Submitter role name |\n\n```bash\ndocuseal templates update 1001 --name \"NDA v2\"\ndocuseal templates update 1001 --folder-name Contracts\ndocuseal templates update 1001 \\\n  -d \"roles[]=Signer\" \\\n  -d \"roles[]=Reviewer\"\ndocuseal templates update 1001 --unarchive\n```\n\n---\n\n## `docuseal templates archive <id>`\n\nArchive a template.\n\n```bash\ndocuseal templates archive 1001\n```\n\n---\n\n## `docuseal templates create-pdf` _(Pro)_\n\nCreate a template from a PDF file.\n\nSee [PDF / DOCX Field Tags](field-tags.md) for embedded `{{...}}` field syntax in PDF and DOCX documents.\n\n| Option | Description |\n|---|---|\n| `--file <path>` | Path to local PDF file |\n| `--name <value>` | Template name |\n| `--folder-name <value>` | Folder to create in |\n| `--external-id <value>` | App-specific unique key |\n| `--shared-link` | Make available via shared link |\n| `--no-shared-link` | Disable shared link |\n| `--flatten` | Remove PDF form fields |\n| `--remove-tags` | Remove `{{text}}` tags (default) |\n| `--no-remove-tags` | Keep `{{text}}` tags in the PDF |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `documents[N][name]` | Document name |\n| `documents[N][file]` | Local file path or URL |\n| `documents[N][fields][M][name]` | Field name |\n| `documents[N][fields][M][type]` | text, signature, initials, date, number, image, checkbox, multiple, file, radio, select, cells, stamp, payment, phone, verification, kba |\n| `documents[N][fields][M][role]` | Signer role name |\n| `documents[N][fields][M][required]` | Required (true/false) |\n| `documents[N][fields][M][title]` | Display title |\n| `documents[N][fields][M][description]` | Display description (Markdown) |\n| `documents[N][fields][M][areas][K][x/y/w/h]` | Position as fraction of page (0-1) |\n| `documents[N][fields][M][areas][K][page]` | Page number (starts at 1) |\n| `documents[N][fields][M][options][]` | Select/radio option values |\n\n```bash\ndocuseal templates create-pdf --file contract.pdf --name \"NDA\"\ndocuseal templates create-pdf --file form.pdf --folder-name Legal\ndocuseal templates create-pdf \\\n  -d \"documents[0][file]=./contract.pdf\" \\\n  --name \"NDA\"\ndocuseal templates create-pdf \\\n  -d \"documents[0][file]=https://...\" \\\n  --name \"NDA\"\ndocuseal templates create-pdf --file form.pdf \\\n  -d \"documents[0][fields][0][name]=Name\" \\\n  -d \"documents[0][fields][0][type]=text\"\n```\n\n---\n\n## `docuseal templates create-docx` _(Pro)_\n\nCreate a template from a Word DOCX file.\n\nSee [PDF / DOCX Field Tags](field-tags.md) for embedded `{{...}}` field syntax in PDF and DOCX documents.\n\n| Option | Description |\n|---|---|\n| `--file <path>` | Path to local DOCX file |\n| `--name <value>` | Template name |\n| `--folder-name <value>` | Folder to create in |\n| `--external-id <value>` | App-specific unique key |\n| `--shared-link` | Make available via shared link |\n| `--no-shared-link` | Disable shared link |\n\nSupports same `-d documents[N]...` data params as `create-pdf`.\n\n```bash\ndocuseal templates create-docx --file template.docx --name \"Contract\"\ndocuseal templates create-docx \\\n  -d \"documents[0][file]=./template.docx\" \\\n  --name \"Contract\"\ndocuseal templates create-docx \\\n  -d \"documents[0][file]=https://...\" \\\n  --name \"Contract\"\ndocuseal templates create-docx --file template.docx \\\n  -d \"documents[0][fields][0][name]=Name\" \\\n  -d \"documents[0][fields][0][role]=Signer\"\n```\n\n---\n\n## `docuseal templates create-html` _(Pro)_\n\nCreate a template from HTML.\n\nSee [HTML Field Tags](html-fields.md) for supported tags, attributes, and `style` guidance.\n\n| Option | Description |\n|---|---|\n| `--html <value>` | Inline HTML with field tags |\n| `--file <path>` | Path to local HTML file |\n| `--html-header <value>` | Header HTML (shown on every page) |\n| `--html-footer <value>` | Footer HTML (shown on every page) |\n| `--name <value>` | Template name |\n| `--size <value>` | Page size: Letter (default), A4, Legal, A3, A5, A6, Tabloid, Ledger, A0, A1, A2 |\n| `--folder-name <value>` | Folder to create in |\n| `--external-id <value>` | App-specific unique key |\n| `--shared-link` | Make available via shared link |\n| `--no-shared-link` | Disable shared link |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `documents[N][html]` | HTML with field tags |\n| `documents[N][name]` | Document name |\n\n```bash\ndocuseal templates create-html \\\n  --html '<p><text-field name=\"Name\"></text-field></p>' \\\n  --name \"Simple\"\ndocuseal templates create-html \\\n  --file template.html \\\n  --name \"Contract\"\ndocuseal templates create-html \\\n  -d 'documents[0][html]=<p><text-field name=\"Name\"></text-field></p>' \\\n  -d \"documents[0][name]=Page 1\"\n```\n\n---\n\n## `docuseal templates clone <id>`\n\nClone a template.\n\n| Option | Description |\n|---|---|\n| `--name <value>` | Name for the clone (default: original name + \"(Clone)\") |\n| `--folder-name <value>` | Folder to clone into |\n| `--external-id <value>` | App-specific unique key |\n\n```bash\ndocuseal templates clone 1001\ndocuseal templates clone 1001 --name \"NDA Copy\"\n```\n\n---\n\n## `docuseal templates merge` _(Pro)_\n\nMerge multiple templates into one.\n\n| Option | Description |\n|---|---|\n| `--name <value>` | Name for the merged template |\n| `--folder-name <value>` | Folder to place merged template |\n| `--external-id <value>` | App-specific unique key |\n| `--shared-link` | Make available via shared link |\n| `--no-shared-link` | Disable shared link |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `template_ids[]` | Template ID to include (required, repeatable) |\n| `roles[]` | Submitter role name |\n\n```bash\ndocuseal templates merge \\\n  -d \"template_ids[]=1001\" \\\n  -d \"template_ids[]=1002\"\ndocuseal templates merge \\\n  -d \"template_ids[]=1001\" \\\n  -d \"template_ids[]=1002\" \\\n  --name \"Combined\"\n```\n\n---\n\n## `docuseal templates update-documents <id>` _(Pro)_\n\nUpdate documents within an existing template.\n\n| Option | Description |\n|---|---|\n| `--merge` | Merge all docs into a single PDF |\n\n| Data param (`-d`) | Description |\n|---|---|\n| `documents[N][name]` | Document name |\n| `documents[N][file]` | Local file path, URL, or base64-encoded content |\n| `documents[N][html]` | HTML template with field tags |\n| `documents[N][position]` | Position in template |\n| `documents[N][replace]` | Replace existing document (true/false) |\n| `documents[N][remove]` | Remove document (true/false) |\n\n```bash\ndocuseal templates update-documents 1001 \\\n  -d \"documents[0][file]=./contract.pdf\"\ndocuseal templates update-documents 1001 \\\n  -d \"documents[0][file]=https://...\"\ndocuseal templates update-documents 1001 \\\n  -d \"documents[0][file]=https://...\" \\\n  -d \"documents[0][name]=New Doc\"\n```\n\nFile v1.0.6:skill-card.md\n\n## Description: <br>\nManage DocuSeal e-signature workflows from the terminal with the DocuSeal CLI, including template creation, document sending, submission tracking, and submitter updates. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[alexbturchyn](https://clawhub.ai/user/alexbturchyn) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and operators use this skill when they want an agent to prepare and run DocuSeal CLI commands for e-signature workflows in a shell, script, or CI/CD context. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can help an agent operate an authenticated DocuSeal account, including creating submissions, sending signing requests, archiving records, and updating submitters. <br>\nMitigation: Review generated commands, template IDs, submitter IDs, recipient addresses, and action flags before execution, and use appropriately scoped credentials. <br>\nRisk: Documents, remote document URLs, HTML templates, signer contact details, metadata, and message contents may be sent to DocuSeal. <br>\nMitigation: Use trusted document sources, avoid unnecessary sensitive data, and confirm that the selected DocuSeal server and account are appropriate before sending. <br>\nRisk: Commands can trigger external emails, SMS messages, payment fields, or signer completion state changes. <br>\nMitigation: Confirm recipient lists, billing-relevant fields, and completion-related flags with a human reviewer before running those commands. <br>\n\n\n## Reference(s): <br>\n- [DocuSeal homepage](https://www.docuseal.com) <br>\n- [DocuSeal CLI source](https://github.com/docusealco/docuseal-cli) <br>\n- [DocuSeal API keys](https://console.docuseal.com/api) <br>\n- [Embedded PDF and DOCX field tags](https://www.docuseal.com/guides/use-embedded-text-field-tags-in-the-pdf-to-create-a-fillable-form) <br>\n- [HTML fillable form guide](https://www.docuseal.com/guides/create-pdf-document-fillable-form-with-html-api) <br>\n- [DOCX dynamic content variables](https://www.docuseal.com/guides/use-dynamic-content-variables-in-docx-to-create-personalized-documents) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with shell command examples and JSON CLI output expectations] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [The referenced CLI commands return JSON and require DOCUSEAL_API_KEY, DOCUSEAL_SERVER, and the docuseal binary.] <br>\n\n## Skill Version(s): <br>\n1.0.6 (source: server release metadata and artifact frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.5: 9 files, 13711 bytes\n\nFiles: references/docx-variables.md (2395b), references/field-tags.md (3718b), references/html-fields.md (5456b), references/submissions.md (10911b), references/submitters.md (2270b), references/templates.md (7767b), skill-card.md (3170b), SKILL.md (4143b), _meta.json (127b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: docuseal-cli\ndescription: >\n  Manage DocuSeal e-signature workflows from the terminal via the DocuSeal CLI -\n  create templates from PDF/DOCX/HTML, send documents for signing, track submissions,\n  and update submitters. Use when the user wants to run DocuSeal commands in the shell,\n  scripts, or CI/CD pipelines. Always load this skill before running `docuseal` commands.\nlicense: MIT\nmetadata:\n  author: DocuSeal\n  version: \"1.0.5\"\n  homepage: https://www.docuseal.com\n  source: https://github.com/docusealco/docuseal-agent-skills\n  openclaw:\n    emoji: \"📝\"\n    requires:\n      env:\n        - DOCUSEAL_API_KEY\n        - DOCUSEAL_SERVER\n      bins:\n        - docuseal\n      primaryEnv: DOCUSEAL_API_KEY\n    install:\n      - id: npm\n        kind: npm\n        package: docuseal\n        bins:\n          - docuseal\n        label: Install DocuSeal CLI (npm)\n---\n\n## Agent Protocol\n\n**Rules for agents:**\n- Supply ALL required flags — the CLI will not prompt for missing parameters.\n- Output is always JSON.\n- Use `-d key=value` (bracket notation) or `-d '{\"..\": \"..\"}'` (JSON) for body and array parameters.\n\n## Authentication\n\nSet environment variables:\n- `DOCUSEAL_API_KEY` — API key (required). Get yours at https://console.docuseal.com/api\n- `DOCUSEAL_SERVER` — `global` (default), `europe`, or full URL for self-hosted (e.g. `https://docuseal.yourdomain.com`)\n\n## Available Commands\n\n| Command Group | What it does |\n|---|---|\n| `templates` | list, retrieve, update, archive, create-pdf, create-docx, create-html, clone, merge, update-documents |\n| `submissions` | list, retrieve, archive, create, send-emails, create-pdf, create-docx, create-html, documents |\n| `submitters` | list, retrieve, update |\n\nRead the matching reference file for detailed flags and examples.\n\n## Common Mistakes\n\n| # | Mistake | Fix |\n|---|---|---|\n| 1 | **Forgetting `-d template_id=<id>` on `submissions create`** | `--template-id` is a flag; submitters and other body params go via `-d` |\n| 2 | **Passing a plain file path as a URL** | `--file` accepts a local path; for remote files use `-d \"documents[0][file]=https://...\"` |\n| 3 | **Expecting array params as comma-separated** | Arrays use bracket notation: `-d \"template_ids[]=1\"` `-d \"template_ids[]=2\"` |\n| 4 | **Using `templates create-pdf` without a Pro plan** | Commands marked _(Pro)_ require a DocuSeal Pro subscription |\n| 5 | **Sending to multiple recipients with `submissions create`** | Use `submissions send-emails --emails a@b.com,c@d.com` for bulk; `submissions create` is per-submitter |\n\n## Common Patterns\n\n**List templates:**\n```bash\ndocuseal templates list --q \"NDA\" --limit 20\n```\n\n**Create a template from a PDF and send for signing:**\n```bash\ndocuseal templates create-pdf --file contract.pdf --name \"NDA\"\ndocuseal submissions send-emails --template-id 1001 --emails signer@example.com\n```\n\n**Create a submission with pre-filled fields (bracket notation):**\n```bash\ndocuseal submissions create --template-id 1001 \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"submitters[0][values][Company Name]=Acme Corp\"\n```\n\n**Create a submission with pre-filled fields (JSON):**\n```bash\ndocuseal submissions create --template-id 1001 \\\n  -d '{\"submitters\": [{\"email\": \"john@acme.com\", \"values\": {\"Company Name\": \"Acme Corp\"}}]}'\n```\n\n**Check signing status:**\n```bash\ndocuseal submissions list --template-id 1001 --status pending\n```\n\n**Update a submitter:**\n```bash\ndocuseal submitters update 201 --email new@acme.com --send-email\n```\n\n## When to Load References\n\n- **Creating or managing templates** → [references/templates.md](references/templates.md)\n- **Sending documents for signing or tracking status** → [references/submissions.md](references/submissions.md)\n- **Using dynamic content variables in DOCX** → [references/docx-variables.md](references/docx-variables.md)\n- **Embedding field tags in PDF/DOCX** → [references/field-tags.md](references/field-tags.md)\n- **Writing HTML templates with field tags** → [references/html-fields.md](references/html-fields.md)\n- **Listing or updating signers** → [references/submitters.md](references/submitters.md)\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn78xdk1k8ykt39nqmweh0q729825c5t\",\n  \"slug\": \"docuseal\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1775510338198\n}\n\nFile v1.0.5:references/docx-variables.md\n\n# DOCX Dynamic Content Variables\n\nDocuSeal supports dynamic content variables in DOCX templates. Variables are replaced with provided values when creating a submission via `submissions create-docx` using the `-d \"variables[key]=value\"` syntax.\n\nFull guide: https://www.docuseal.com/guides/use-dynamic-content-variables-in-docx-to-create-personalized-documents\n\n## Syntax\n\nVariables use double-bracket notation: `[[variable_name]]`\n\n## Simple Variables\n\n```\n[[signer_name]]\n[[company_name]]\n[[contract_date]]\n```\n\nReplaced with the corresponding value passed via `variables`.\n\n## Conditional Logic\n\n**If:**\n```\n[[if:is_vip]] Thank you for being a valued VIP customer! [[end]]\n```\n\n**If/else:**\n```\n[[if:is_vip]] Thank you for being a valued VIP customer! [[else]] Thank you for being our customer. [[end:is_vip]]\n```\n\nThe condition variable is a boolean.\n\n## Loops\n\nIterate over arrays using `[[for:array_name]]`:\n\n```\n[[for:items]] - [[item.name]] ([[item.quantity]]) [[end]]\n```\n\nTable rows:\n```\n[[for:invoices]]\n| [[invoice.name]] | [[invoice.quantity]] | [[invoice.price]] | [[invoice.total]] |\n[[end]]\n```\n\nInside the loop, access properties via singular dot notation: `items` array → `item.name`.\n\n## HTML Content Variables\n\nVariable values can contain styled HTML rendered directly in the DOCX:\n\n**Paragraphs:**\n```html\n<p><b style=\"color: #1976D2; text-decoration: underline;\">Bold blue text</b> normal text.</p>\n```\n\n**Lists:**\n```html\n<ul>\n  <li>Item one</li>\n  <li>Item two</li>\n</ul>\n```\n\n**Tables:**\n```html\n<table border=\"1\" style=\"border-collapse: collapse;\">\n  <tr><th style=\"padding: 8px;\"><b>Item</b></th><th><b>Price</b></th></tr>\n  <tr><td style=\"padding: 8px;\">Widget</td><td>$50</td></tr>\n</table>\n```\n\n**Links:**\n```html\n<a href=\"https://example.com\" style=\"color: #1976D2;\">Example Link</a>\n```\n\n## Using with CLI\n\n```bash\n# Simple variables\ndocuseal submissions create-docx --file contract.docx \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"variables[signer_name]=John Doe\" \\\n  -d \"variables[company_name]=Acme Corp\"\n\n# Boolean for conditionals\ndocuseal submissions create-docx --file contract.docx \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"variables[is_vip]=true\"\n\n# HTML content\ndocuseal submissions create-docx --file contract.docx \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d 'variables[description]=<p><b>Important</b> details here.</p>'\n```\n\nFile v1.0.5:references/field-tags.md\n\n# PDF / DOCX Field Tags\n\nDocuSeal uses embedded text tags in PDF and DOCX documents to define fillable fields. Tags are placed directly in the document text and are automatically detected when uploaded via `templates create-pdf`, `templates create-docx`, `submissions create-pdf`, or `submissions create-docx`.\n\nFull guide: https://www.docuseal.com/guides/use-embedded-text-field-tags-in-the-pdf-to-create-a-fillable-form\n\n## Syntax\n\nTags use double curly braces. Attributes are separated by semicolons:\n\n```\n{{Field Name}}\n{{Field Name;type=signature}}\n{{Field Name;type=date;role=First Party;required=true}}\n```\n\n## Field Types\n\n| Type | Description |\n|---|---|\n| `text` | Text input (default) |\n| `signature` | Signature capture |\n| `initials` | Initials capture |\n| `date` | Date picker |\n| `datenow` | Auto-filled signing date (read-only) |\n| `image` | Image upload |\n| `file` | File upload |\n| `payment` | Payment field |\n| `stamp` | Document stamp |\n| `select` | Dropdown menu |\n| `checkbox` | Boolean checkbox |\n| `multiple` | Multiple selection |\n| `radio` | Radio button |\n| `phone` | Phone number (2FA) |\n| `verification` | Identity verification |\n| `kba` | Knowledge-based authentication |\n\n## Attributes\n\n| Attribute | Description |\n|---|---|\n| `name` | Field name (the text before the first `;`) |\n| `type` | Field type (default: `text`) |\n| `role` | Signer role for multi-party signing |\n| `default` | Pre-filled value |\n| `required` | Required field (`true` by default) |\n| `readonly` | Prevent editing (`false` by default) |\n| `title` | Display label in signing UI |\n| `description` | Help text in signing UI |\n| `options` | Comma-separated values for select/radio/multiple |\n| `option` | Single option value for radio buttons |\n| `condition` | Conditional visibility: `FieldName:value` |\n| `width` | Width in pixels |\n| `height` | Height in pixels |\n| `hidden` | Hide field (`true`/`false`) |\n| `mask` | Mask sensitive data (`true`/`false`) |\n\n## Text Formatting\n\n| Attribute | Values |\n|---|---|\n| `font` | `Times`, `Helvetica`, `Courier` |\n| `font_size` | Numeric value |\n| `font_type` | `bold`, `italic`, `bold_italic` |\n| `color` | `blue`, `red`, `black` (default) |\n| `align` | `left`, `center`, `right` |\n| `valign` | `top`, `center`, `bottom` |\n\n## Type-Specific Attributes\n\n| Attribute | Applies to | Values |\n|---|---|---|\n| `format` | date | `DD/MM/YYYY`, `MM/DD/YYYY` (default) |\n| `format` | signature | `drawn`, `typed`, `drawn_or_typed` (default), `upload` |\n| `format` | number | `usd`, `eur`, `gbp` |\n| `min` / `max` | date, number | Min/max allowed value |\n| `method` | verification | `aes`, `qes` |\n\n## Examples\n\n**Basic fields:**\n```\n{{Full Name}}\n{{Email;title=Email Address}}\n{{Sign;type=signature}}\n{{Date;type=date;format=DD/MM/YYYY}}\n{{Today;type=datenow}}\n```\n\n**Multi-role signing:**\n```\n{{Landlord Name;role=Landlord}}\n{{Landlord Sign;type=signature;role=Landlord}}\n{{Tenant Name;role=Tenant}}\n{{Tenant Sign;type=signature;role=Tenant}}\n```\n\n**Selection fields:**\n```\n{{Department;type=select;options=Engineering,Sales,Marketing,HR}}\n{{Priority;type=radio;option=Low}}\n{{Priority;type=radio;option=Medium}}\n{{Priority;type=radio;option=High}}\n{{type=checkbox}} I agree to the terms\n```\n\n**Conditional fields:**\n```\n{{Agree;type=checkbox}}\n{{Details;condition=Agree:true}}\n```\n\n**Using with CLI:**\n```bash\ndocuseal templates create-pdf --file contract.pdf --name \"Contract\"\ndocuseal templates create-docx --file contract.docx --name \"Contract\"\ndocuseal submissions create-pdf --file contract.pdf \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"submitters[0][role]=Tenant\"\n```\n\n## Resources\n\n- Example PDF with field tags: https://www.docuseal.com/examples/fieldtags.pdf\n\nFile v1.0.5:references/html-fields.md\n\n# HTML Field Tags\n\nDocuSeal uses custom HTML tags to define fillable fields in templates. These tags can be used in `--html` or `--file` values for `templates create-html` and `submissions create-html` commands.\n\nFull guide: https://www.docuseal.com/guides/create-pdf-document-fillable-form-with-html-api\n\n## Available Tags\n\n| Tag | Purpose |\n|---|---|\n| `<text-field>` | Text input |\n| `<signature-field>` | Signature capture |\n| `<date-field>` | Date picker |\n| `<image-field>` | Image upload |\n| `<initials-field>` | Initials capture |\n| `<phone-field>` | Phone number input |\n| `<stamp-field>` | Document stamp |\n| `<file-field>` | File attachment |\n| `<checkbox-field>` | Boolean checkbox |\n| `<radio-field>` | Single option selection |\n| `<select-field>` | Dropdown menu |\n| `<multi-select-field>` | Multiple selection dropdown |\n| `<payment-field>` | Payment processing |\n| `<verification-field>` | Identity verification |\n\n## Common Attributes\n\nAll tags support:\n\n| Attribute | Description |\n|---|---|\n| `name` | Field identifier (required) |\n| `role` | Signer role assignment |\n| `default` | Pre-filled value |\n| `required` | Required field, `true` by default |\n| `readonly` | Prevent editing by signer |\n| `title` | Display label |\n| `description` | Help text shown to signer |\n| `condition` | Conditional visibility, e.g. `\"Status:active\"` |\n| `style` | CSS styling for field size and placement. Set `width` and `height` so the field renders on the page. |\n\n**Important:** HTML field tags should usually include a `style` attribute with at least `width` and `height`. Without explicit dimensions, the rendered field can collapse and not appear where you expect in the document. For inline fields, `display: inline-block` is commonly used.\n\n## Style Examples\n\nUse `style=\"\"` to control field size and layout:\n\n```html\n<text-field name=\"Full Name\" role=\"Tenant\" style=\"width: 160px; height: 20px; display: inline-block;\"></text-field>\n<signature-field name=\"Tenant Signature\" role=\"Tenant\" style=\"width: 160px; height: 80px; display: inline-block;\"></signature-field>\n```\n\n## Text Formatting Attributes\n\n| Attribute | Values |\n|---|---|\n| `font` | `Times`, `Helvetica`, `Courier` |\n| `font-size` | Numeric value |\n| `font-type` | `bold`, `italic`, `bold_italic` |\n| `color` | `blue`, `red`, `black` (default) |\n| `align` | `left`, `center`, `right` |\n| `valign` | `top`, `center`, `bottom` |\n| `mask` | `true` / `false` (hide sensitive data) |\n\n## Type-Specific Attributes\n\n**`<select-field>`, `<multi-select-field>`, `<radio-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `options` | Comma-separated list: `\"opt1,opt2,opt3\"` |\n\n**`<date-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `min` / `max` | Min/max date |\n| `format` | `DD/MM/YYYY` or `MM/DD/YYYY` |\n\n**`<signature-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `format` | `drawn`, `typed`, `drawn_or_typed`, `upload` |\n\n**`<payment-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `price` | Amount |\n| `currency` | Currency code (e.g. `USD`) |\n\n**`<verification-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `method` | `aes` or `qes` |\n\n## Examples\n\n**Simple contract:**\n```html\n<h1>Non-Disclosure Agreement</h1>\n<p>This agreement is entered by\n  <text-field name=\"Company Name\" role=\"Company\" style=\"width: 180px; height: 20px; display: inline-block;\"></text-field>\n  and\n  <text-field name=\"Recipient Name\" role=\"Recipient\" style=\"width: 180px; height: 20px; display: inline-block;\"></text-field>.\n</p>\n\n<p>Date:\n  <date-field name=\"Date\" format=\"MM/DD/YYYY\" style=\"width: 110px; height: 20px; display: inline-block;\"></date-field>\n</p>\n\n<p>Company signature:</p>\n<signature-field name=\"Company Signature\" role=\"Company\" style=\"width: 180px; height: 80px; display: inline-block;\"></signature-field>\n\n<p>Recipient signature:</p>\n<signature-field name=\"Recipient Signature\" role=\"Recipient\" style=\"width: 180px; height: 80px; display: inline-block;\"></signature-field>\n```\n\n**Form with various field types:**\n```html\n<h2>Application Form</h2>\n<p>Full Name: <text-field name=\"Full Name\" required=\"true\" style=\"width: 220px; height: 20px; display: inline-block;\"></text-field></p>\n<p>Phone: <phone-field name=\"Phone\" style=\"width: 160px; height: 20px; display: inline-block;\"></phone-field></p>\n<p>Department: <select-field name=\"Department\" options=\"Engineering,Sales,Marketing,HR\" style=\"width: 180px; height: 24px; display: inline-block;\"></select-field></p>\n<p>Start Date: <date-field name=\"Start Date\" min=\"2024-01-01\" style=\"width: 120px; height: 20px; display: inline-block;\"></date-field></p>\n<p>Photo ID: <image-field name=\"Photo ID\" style=\"width: 140px; height: 90px; display: inline-block;\"></image-field></p>\n<p>I agree to the terms: <checkbox-field name=\"Terms\" required=\"true\" style=\"width: 16px; height: 16px; display: inline-block;\"></checkbox-field></p>\n<signature-field name=\"Signature\" style=\"width: 180px; height: 80px; display: inline-block;\"></signature-field>\n```\n\n**Using with CLI:**\n```bash\ndocuseal templates create-html --name \"NDA\" --html '<h1>NDA</h1>\n<p>Party: <text-field name=\"Name\" style=\"width: 180px; height: 20px; display: inline-block;\"></text-field></p>\n<signature-field name=\"Signature\" style=\"width: 180px; height: 80px; display: inline-block;\"></signature-field>'\n\ndocuseal templates create-html --name \"NDA\" --file nda.html\n\ndocuseal submissions create-html --file nda.html \\\n  -d \"submitters[0][email]=john@acme.com\"\n```\n\nFile v1.0.5:references/submissions.md\n\n# Submissions\n\n## `docuseal submissions list`\n\nList all submissions.\n\n| Option | Description |\n|---|---|\n| `--template-id <value>` | Filter by template ID |\n| `--status <value>` | pending, completed, declined, expired |\n| `--q <value>` | Filter by submitter name, email, or phone |\n| `--slug <value>` | Filter by unique slug |\n| `--template-folder <value>` | Filter by template folder name |\n| `--archived` | Get only archived submissions |\n| `--active` | Get only active submissions |\n| `-l, --limit <value>` | Number of results (default 10, max 100) |\n| `-a, --after <value>` | Pagination cursor — pass `pagination.next` from previous response |\n| `--before <value>` | Pagination end cursor |\n\n```bash\ndocuseal submissions list\ndocuseal submissions list --status pending\ndocuseal submissions list \\\n  --template-id 1001 \\\n  --limit 50\ndocuseal submissions list --q \"john@example.com\"\n```\n\n---\n\n## `docuseal submissions retrieve <id>`\n\nGet a submission by ID.\n\n```bash\ndocuseal submissions retrieve 502\n```\n\n---\n\n## `docuseal submissions archive <id>`\n\nArchive a submission.\n\n```bash\ndocuseal submissions archive 502\n```\n\n---\n\n## `docuseal submissions create`\n\nCreate a submission from an existing template.\n\n| Option | Description |\n|---|---|\n| `--template-id <value>` | Template ID (required) |\n| `--send-email` | Send signature request emails (default) |\n| `--no-send-email` | Do not send signature request emails |\n| `--send-sms` | Send signature request via SMS |\n| `--order <value>` | `preserved` (default) or `random` |\n| `--expire-at <value>` | Expiration date/time |\n| `--completed-redirect-url <value>` | Redirect URL after completion |\n| `--bcc-completed <value>` | BCC address for signed documents |\n| `--r\n\nArchive v1.0.4: 8 files, 12324 bytes\n\nFiles: references/docx-variables.md (2395b), references/field-tags.md (3718b), references/html-fields.md (5456b), references/submissions.md (10911b), references/submitters.md (2270b), references/templates.md (7767b), SKILL.md (4686b), _meta.json (127b)\n\nArchive v1.0.3: 4 files, 2913 bytes\n\nFiles: scripts/cli.js (2523b), scripts/config.js (305b), SKILL.md (2699b), _meta.json (127b)\n\nArchive v1.0.2: 3 files, 2674 bytes\n\nFiles: scripts/cli.js (2708b), SKILL.md (2699b), _meta.json (127b)\n\nArchive v1.0.1: 3 files, 2948 bytes\n\nFiles: scripts/cli.js (2937b), SKILL.md (3252b), _meta.json (127b)\n\nArchive v1.0.0: 3 files, 2838 bytes\n\nFiles: scripts/cli.js (2937b), SKILL.md (3036b), _meta.json (127b)\n\nArchive v0.1.1: 3 files, 2837 bytes\n\nFiles: scripts/mcp.js (2938b), SKILL.md (3037b), _meta.json (127b)","readmeExcerpt":"Skill: docuseal-cli Owner: docuseal Summary: Manage DocuSeal e-signature workflows from the terminal via the DocuSeal CLI - create templates from PDF/DOCX/HTML, send documents for signing, track submissions, and update submitters. Use when the user wants to run DocuSeal commands in the shell, scripts, or CI/CD pipelines. Always load this skill Tags: latest:1.0.8 Version history: v1.0.8 | 2026-09-03T17:20:25.658Z | us","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"docuseal templates list --q \"NDA\" --limit 20"},{"language":"bash","snippet":"docuseal templates create-pdf --file contract.pdf --name \"NDA\"\ndocuseal submissions send-emails --template-id 1001 --emails signer@example.com"},{"language":"bash","snippet":"docuseal submissions create --template-id 1001 \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"submitters[0][values][Company Name]=Acme Corp\""},{"language":"bash","snippet":"docuseal submissions create --template-id 1001 \\\n  -d '{\"submitters\": [{\"email\": \"john@acme.com\", \"values\": {\"Company Name\": \"Acme Corp\"}}]}'"},{"language":"bash","snippet":"docuseal submissions list --template-id 1001 --status pending"},{"language":"bash","snippet":"docuseal submitters update 201 --email new@acme.com --send-email"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: docuseal-cli\ndescription: >\n  Manage DocuSeal e-signature workflows from the terminal via the DocuSeal CLI -\n  create templates from PDF/DOCX/HTML, send documents for signing, track submissions,\n  and update submitters. Use when the user wants to run DocuSeal commands in the shell,\n  scripts, or CI/CD pipelines. Always load this skill before running `docuseal` commands.\nlicense: MIT\nmetadata:\n  author: DocuSeal\n  version: \"1.0.8\"\n  homepage: https://www.docuseal.com\n  source: https://github.com/docusealco/docuseal-cli\n  openclaw:\n    emoji: \"📝\"\n    requires:\n      env:\n        - DOCUSEAL_API_KEY\n        - DOCUSEAL_SERVER\n      bins:\n        - docuseal\n      primaryEnv: DOCUSEAL_API_KEY\n    install:\n      - id: npm\n        kind: npm\n        package: docuseal\n        bins:\n          - docuseal\n        label: Install DocuSeal CLI (npm)\n  hermes:\n    tags:\n      - DocuSeal\n      - E-signature\n      - Documents\n      - PDF\n      - CLI\nrequired_environment_variables:\n  - name: DOCUSEAL_API_KEY\n    prompt: DocuSeal API key (global, EU, or self-hosted account)\n    help: \"Get it at https://console.docuseal.com/api (global), https://console.docuseal.eu/api (EU), or https://<your-domain>/api (self-hosted). Overrides the key saved by `docuseal configure` in ~/.config/docuseal/credentials.json.\"\n    required_for: authenticating the docuseal CLI\n  - name: DOCUSEAL_SERVER\n    prompt: DocuSeal server - global, europe, or self-hosted URL (leave empty for global)\n    help: \"Optional. Use global (docuseal.com), europe (docuseal.eu), or https://<your-domain> for self-hosted. Overrides the server saved by `docuseal configure` in ~/.config/docuseal/credentials.json; the CLI falls back to global only when neither is set.\"\n    required_for: selecting the DocuSeal region or self-hosted server\n    optional: true\n---\n\n## Agent Protocol\n\n**Rules for agents:**\n- Supply ALL required flags — the CLI will not prompt for missing parameters.\n- Output is always JSON.\n- Use `-d key=value` (bracket notation) or `-d '{\"..\": \"..\"}'` (JSON) for body and array parameters.\n\n## Authentication\n\nSet environment variables:\n- `DOCUSEAL_API_KEY` — API key (required). Get yours at https://console.docuseal.com/api\n- `DOCUSEAL_SERVER` — `global` (default), `europe`, or full URL for self-hosted (e.g. `https://docuseal.yourdomain.com`)\n\n## Available Commands\n\n| Command Group | What it does |\n|---|---|\n| `templates` | list, retrieve, update, archive, create-pdf, create-docx, create-html, clone, merge, update-documents |\n| `submissions` | list, retrieve, update, archive, create, send-emails, create-pdf, create-docx, create-html, documents |\n| `submitters` | list, retrieve, update |\n\nRead the matching reference file for detailed flags and examples.\n\n## Common Mistakes\n\n| # | Mistake | Fix |\n|---|---|---|\n| 1 | **Forgetting `-d template_id=<id>` on `submissions create`** | `--template-id` is a flag; submitters and other body params go via `-d` |\n| 2 | **Passing a plain file path as a URL** |"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn78xdk1k8ykt39nqmweh0q729825c5t\",\n  \"slug\": \"docuseal\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1788456025658\n}"},{"path":"references/docx-variables.md","content":"# DOCX Dynamic Content Variables\n\nDocuSeal supports dynamic content variables in DOCX templates. Variables are replaced with provided values when creating a submission via `submissions create-docx` using the `-d \"variables[key]=value\"` syntax.\n\nFull guide: https://www.docuseal.com/guides/use-dynamic-content-variables-in-docx-to-create-personalized-documents\n\n## Syntax\n\nVariables use double-bracket notation: `[[variable_name]]`\n\n## Simple Variables\n\n```\n[[signer_name]]\n[[company_name]]\n[[contract_date]]\n```\n\nReplaced with the corresponding value passed via `variables`.\n\n## Conditional Logic\n\n**If:**\n```\n[[if:is_vip]] Thank you for being a valued VIP customer! [[end]]\n```\n\n**If/else:**\n```\n[[if:is_vip]] Thank you for being a valued VIP customer! [[else]] Thank you for being our customer. [[end:is_vip]]\n```\n\nThe condition variable is a boolean.\n\n## Loops\n\nIterate over arrays using `[[for:array_name]]`:\n\n```\n[[for:items]] - [[item.name]] ([[item.quantity]]) [[end]]\n```\n\nTable rows:\n```\n[[for:invoices]]\n| [[invoice.name]] | [[invoice.quantity]] | [[invoice.price]] | [[invoice.total]] |\n[[end]]\n```\n\nInside the loop, access properties via singular dot notation: `items` array → `item.name`.\n\n## HTML Content Variables\n\nVariable values can contain styled HTML rendered directly in the DOCX:\n\n**Paragraphs:**\n```html\n<p><b style=\"color: #1976D2; text-decoration: underline;\">Bold blue text</b> normal text.</p>\n```\n\n**Lists:**\n```html\n<ul>\n  <li>Item one</li>\n  <li>Item two</li>\n</ul>\n```\n\n**Tables:**\n```html\n<table border=\"1\" style=\"border-collapse: collapse;\">\n  <tr><th style=\"padding: 8px;\"><b>Item</b></th><th><b>Price</b></th></tr>\n  <tr><td style=\"padding: 8px;\">Widget</td><td>$50</td></tr>\n</table>\n```\n\n**Links:**\n```html\n<a href=\"https://example.com\" style=\"color: #1976D2;\">Example Link</a>\n```\n\n## Using with CLI\n\n```bash\n# Simple variables\ndocuseal submissions create-docx --file contract.docx \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"variables[signer_name]=John Doe\" \\\n  -d \"variables[company_name]=Acme Corp\"\n\n# Boolean for conditionals\ndocuseal submissions create-docx --file contract.docx \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d \"variables[is_vip]=true\"\n\n# HTML content\ndocuseal submissions create-docx --file contract.docx \\\n  -d \"submitters[0][email]=john@acme.com\" \\\n  -d 'variables[description]=<p><b>Important</b> details here.</p>'\n```"},{"path":"references/field-tags.md","content":"# PDF / DOCX Field Tags\n\nDocuSeal uses embedded text tags in PDF and DOCX documents to define fillable fields. Tags are placed directly in the document text and are automatically detected when uploaded via `templates create-pdf`, `templates create-docx`, `submissions create-pdf`, or `submissions create-docx`.\n\nFull guide: https://www.docuseal.com/guides/use-embedded-text-field-tags-in-the-pdf-to-create-a-fillable-form\n\n## Syntax\n\nTags use double curly braces. Attributes are separated by semicolons:\n\n```\n{{Field Name}}\n{{Field Name;type=signature}}\n{{Field Name;type=date;role=First Party;required=true}}\n```\n\n## Field Types\n\n| Type | Description |\n|---|---|\n| `text` | Text input (default) |\n| `signature` | Signature capture |\n| `initials` | Initials capture |\n| `date` | Date picker |\n| `datenow` | Auto-filled signing date (read-only) |\n| `image` | Image upload |\n| `file` | File upload |\n| `payment` | Payment field |\n| `stamp` | Document stamp |\n| `select` | Dropdown menu |\n| `checkbox` | Boolean checkbox |\n| `multiple` | Multiple selection |\n| `radio` | Radio button |\n| `phone` | Phone number (2FA) |\n| `verification` | Identity verification |\n| `kba` | Knowledge-based authentication |\n\n## Attributes\n\n| Attribute | Description |\n|---|---|\n| `name` | Field name (the text before the first `;`) |\n| `type` | Field type (default: `text`) |\n| `role` | Signer role for multi-party signing |\n| `default` | Pre-filled value |\n| `required` | Required field (`true` by default) |\n| `readonly` | Prevent editing (`false` by default) |\n| `title` | Display label in signing UI |\n| `description` | Help text in signing UI |\n| `options` | Comma-separated values for select/radio/multiple |\n| `option` | Single option value for radio buttons |\n| `condition` | Conditional visibility: `FieldName:value` |\n| `width` | Width in pixels |\n| `height` | Height in pixels |\n| `hidden` | Hide field (`true`/`false`) |\n| `mask` | Mask sensitive data (`true`/`false`) |\n\n## Text Formatting\n\n| Attribute | Values |\n|---|---|\n| `font` | `Times`, `Helvetica`, `Courier` |\n| `font_size` | Numeric value |\n| `font_type` | `bold`, `italic`, `bold_italic` |\n| `color` | `blue`, `red`, `black` (default) |\n| `align` | `left`, `center`, `right` |\n| `valign` | `top`, `center`, `bottom` |\n\n## Type-Specific Attributes\n\n| Attribute | Applies to | Values |\n|---|---|---|\n| `format` | date | `DD/MM/YYYY`, `MM/DD/YYYY` (default) |\n| `format` | signature | `drawn`, `typed`, `drawn_or_typed` (default), `upload` |\n| `format` | number | `usd`, `eur`, `gbp` |\n| `min` / `max` | date, number | Min/max allowed value |\n| `method` | verification | `aes`, `qes` |\n\n## Examples\n\n**Basic fields:**\n```\n{{Full Name}}\n{{Email;title=Email Address}}\n{{Sign;type=signature}}\n{{Date;type=date;format=DD/MM/YYYY}}\n{{Today;type=datenow}}\n```\n\n**Multi-role signing:**\n```\n{{Landlord Name;role=Landlord}}\n{{Landlord Sign;type=signature;role=Landlord}}\n{{Tenant Name;role=Tenant}}\n{{Tenant Sign;type=signature;role=Tenant}}\n```\n\n**Selection f"},{"path":"references/html-fields.md","content":"# HTML Field Tags\n\nDocuSeal uses custom HTML tags to define fillable fields in templates. These tags can be used in `--html` or `--file` values for `templates create-html` and `submissions create-html` commands.\n\nFull guide: https://www.docuseal.com/guides/create-pdf-document-fillable-form-with-html-api\n\n## Available Tags\n\n| Tag | Purpose |\n|---|---|\n| `<text-field>` | Text input |\n| `<signature-field>` | Signature capture |\n| `<date-field>` | Date picker |\n| `<image-field>` | Image upload |\n| `<initials-field>` | Initials capture |\n| `<phone-field>` | Phone number input |\n| `<stamp-field>` | Document stamp |\n| `<file-field>` | File attachment |\n| `<checkbox-field>` | Boolean checkbox |\n| `<radio-field>` | Single option selection |\n| `<select-field>` | Dropdown menu |\n| `<multi-select-field>` | Multiple selection dropdown |\n| `<payment-field>` | Payment processing |\n| `<verification-field>` | Identity verification |\n\n## Common Attributes\n\nAll tags support:\n\n| Attribute | Description |\n|---|---|\n| `name` | Field identifier (required) |\n| `role` | Signer role assignment |\n| `default` | Pre-filled value |\n| `required` | Required field, `true` by default |\n| `readonly` | Prevent editing by signer |\n| `title` | Display label |\n| `description` | Help text shown to signer |\n| `condition` | Conditional visibility, e.g. `\"Status:active\"` |\n| `style` | CSS styling for field size and placement. Set `width` and `height` so the field renders on the page. |\n\n**Important:** HTML field tags should usually include a `style` attribute with at least `width` and `height`. Without explicit dimensions, the rendered field can collapse and not appear where you expect in the document. For inline fields, `display: inline-block` is commonly used.\n\n## Style Examples\n\nUse `style=\"\"` to control field size and layout:\n\n```html\n<text-field name=\"Full Name\" role=\"Tenant\" style=\"width: 160px; height: 20px; display: inline-block;\"></text-field>\n<signature-field name=\"Tenant Signature\" role=\"Tenant\" style=\"width: 160px; height: 80px; display: inline-block;\"></signature-field>\n```\n\n## Text Formatting Attributes\n\n| Attribute | Values |\n|---|---|\n| `font` | `Times`, `Helvetica`, `Courier` |\n| `font-size` | Numeric value |\n| `font-type` | `bold`, `italic`, `bold_italic` |\n| `color` | `blue`, `red`, `black` (default) |\n| `align` | `left`, `center`, `right` |\n| `valign` | `top`, `center`, `bottom` |\n| `mask` | `true` / `false` (hide sensitive data) |\n\n## Type-Specific Attributes\n\n**`<select-field>`, `<multi-select-field>`, `<radio-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `options` | Comma-separated list: `\"opt1,opt2,opt3\"` |\n\n**`<date-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `min` / `max` | Min/max date |\n| `format` | `DD/MM/YYYY` or `MM/DD/YYYY` |\n\n**`<signature-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `format` | `drawn`, `typed`, `drawn_or_typed`, `upload` |\n\n**`<payment-field>`:**\n\n| Attribute | Description |\n|---|---|\n| `price` | Amount |\n| `currency`"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1842,"uniquenessScore":39,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T10:29:38.688Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T10:29:38.688Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T13:40:23.874Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}