Skip to content

Package

A downloadable System or Module listed in the content catalog.

A Package is catalog metadata, not installed content: it describes what is available, where to download it and which app versions it supports. Installing one produces a System or Module whose package field points back at the manifest, which is how updates are detected later.

Unlike the Realm-backed containers, Package is a plain Codable value decoded straight from the catalog JSON.

  • SeeAlso: System, Module, Compatibility

View JSON Schema

Property Type Required Description
id string Yes The unique identifier for this package. A stable, author-chosen slug. It becomes the id of the installed System or Module, and is what update checks match on.
Examples: "dnd5e"; "lost-mine-of-phandelver"
name string Yes The display name of the package.
Examples: "Dungeons & Dragons 5th Edition"
type PackageType Yes Whether this package installs a system or a module. SeeAlso: PackageType, contentType
category string No The catalog category this package is listed under. For module packages this mirrors ModuleCategory.
Examples: "adventure", "pack", "rules", "compendium"
system string No The game system this package’s content targets. The System/id of the required system. nil for system packages themselves and for system-agnostic content.
Examples: "dnd5e"
version string Yes The version offered by this catalog listing. Compared against the installed System/version or Module/version to decide whether an update is available.
Format: Semantic versioning: "1.2.3"
download string Yes The absolute URL of the archive to download.
Examples: "https://example.com/packages/dnd5e-1.2.3.system" SeeAlso: downloadURL
compatibility Compatibility No The range of app versions this package supports. nil means the package declares no constraint and is treated as compatible with every app version. SeeAlso: Compatibility, isCompatible
repository string No The source repository hosting the package, as an absolute URL string.
Examples: "https://github.com/example/dnd5e-system"
website string No The package’s homepage, as an absolute URL string.
description string No The full description of the package. Marketing copy or the author’s overview, shown on the package detail screen.
content string No A summary of what the package contains. A human-readable inventory of the content, listed separately from description.
Examples: "12 maps, 40 pages, 60 monsters"
authors Array<Author> No The people or organizations credited on this package. SeeAlso: Author
media Array<string> No Absolute URLs of the package’s promotional images. Entries are identified by filename: the one containing cover. is used as the cover image and the one containing banner. as the banner. SeeAlso: imageURL, bannerURL
featured boolean No Whether the catalog highlights this package. Featured packages are surfaced at the top of the browse screen.
modified string No When the catalog listing was last updated.
Format: ISO 8601: "2024-03-17T09:24:00Z"
created string No When the catalog listing was first published.
Format: ISO 8601: "2023-11-02T14:05:00Z"

What kind of content a Package installs.

Type: string — one of:

  • system
  • module

A person or organization credited on a Package.

View JSON Schema

Property Type Required Description
name string Yes The author’s display name.
Examples: "Encounter+ Dev Team"
url string No The author’s homepage, as an absolute URL string.
email string No The author’s contact email address.

The range of app versions a Package supports.

Both bounds are optional and inclusive; an omitted bound means unbounded in that direction. A package with no compatibility declaration is treated as compatible with every version.

View JSON Schema

Property Type Required Description
minimum string No The oldest supported app version.
Format: Semantic versioning, optionally with a build number: "5.2.0", "5.2.0+1234" Note: When a build number is present it is compared as well, so a package can require a specific build of an app version.
maximum string No The newest supported app version.
Format: Semantic versioning, optionally with a build number: "6.0.0", "6.0.0+2000"

One downloadable release of a Package.

View JSON Schema

Property Type Required Description
version string Yes The released version.
Format: Semantic versioning: "1.2.3"
download string Yes The absolute URL of the archive for this version.
Examples: "https://example.com/packages/dnd5e-1.2.3.system"