OpenForm

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

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
Internal code or reference number
releaseDate?: string
ISO date string indicating when the artifact was released
metadata?: Metadata
Custom metadata map (keys must be alphanumeric with hyphens)
logic?: LogicSection
Named logic expressions 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

Examples

kind: bundle
name: loan-application
version: "1.0.0"
title: Loan Application Packet

logic:
  needsW9: "applicant.type == 'contractor'"

contents:
  # Inline artifact
  - type: inline
    key: welcome-doc
    artifact:
      kind: document
      name: welcome
      title: Welcome Letter

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

  # Registry reference with conditional include
  - type: registry
    key: w9
    slug: "@openform/irs/w9@1.0.0"
    include: needsW9

Related

  • Logic - Conditional expressions for include conditions

On this page