SchemasArtifacts

Bundle

Last updated on

A container artifact for grouping related artifacts together

A Bundle is a recursive container for content artifacts. Bundles group together documents, forms, checklists, and other bundles into a single distributable unit.

Examples include a loan application packet, new hire paperwork, or compliance submission.

Properties

$schema?: string
Current dated schema URL. Required in artifact files and optional for in-memory objects
kind: 'bundle'
Literal "bundle" discriminator
name: string
Unique identifier; must follow slug constraints
version?: string
Artifact version (semantic versioning)
title?: string
Human-friendly name presented to end users
description?: string
Long-form description or context
code?: string
The form number as printed by its issuer (e.g. W-9, ACORD 25), or a self-issued form's own number
language?: string
BCP 47-style source language tag. Defaults to en when omitted
issuer?: string
Organization that issues the form (e.g. U.S. Internal Revenue Service)
edition?: Edition
The issuer's edition this artifact encodes, for artifacts the issuer reissues. Every edition of one artifact shares the same name and has its own version line
metadata?: Metadata
Custom metadata map (keys must be alphanumeric with hyphens)
instructions?: ContentRef
Domain or compliance reference content (e.g., regulatory guidance)
agentInstructions?: ContentRef
LLM/agent prompts for presentation guidance
defs?: DefsSection
Named typed computed values that can be referenced in include conditions
contents: BundleContentItem[]
Ordered list of bundle contents with keys

BundleContentItem

Bundle contents can be inline artifacts, path references, or registry references.

type BundleContentItem = InlineBundleItem | PathBundleItem | RegistryBundleItem
type: 'inline' | 'path' | 'registry'
Content item type discriminator

Item keys start with a letter and contain only letters, digits, _, and -. Every item type accepts optional include.

Examples

$schema: https://schema.paradoc.dev/2026-10-02.json
kind: bundle
name: loan-application
version: "1.0.0"
title: Loan Application Packet

defs:
  needsW9:
    type: boolean
    value: "forms.application.fields.applicantType == 'contractor'"

contents:
  # Inline artifact
  - type: inline
    key: welcome-doc
    artifact:
      $schema: https://schema.paradoc.dev/2026-10-02.json
      kind: document
      name: welcome
      title: Welcome Letter

  # Inline form read by bundle expressions
  - type: inline
    key: application
    artifact:
      $schema: https://schema.paradoc.dev/2026-10-02.json
      kind: form
      name: application
      fields:
        applicantType:
          type: enum
          enum: [{ value: employee }, { value: contractor }]

  # Path reference
  - type: path
    key: borrower-info
    path: /forms/borrower-info.yaml

  # Registry reference with conditional include
  - type: registry
    key: w9
    slug: "@paradoc/irs/w-9"
    edition: "2024-03"
    version: "1.0.0"
    include: needsW9
  • Form - Interactive form artifact
  • Document - Static document artifact
  • Checklist - Task tracking artifact

On this page