BundleLast updated on
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 | RegistryBundleItemtype: '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: needsW9Related
- Logic - Conditional expressions for include conditions