.md

Inspecting schemas

The dcupl schemas family is the discovery and escape-hatch tool for the CLI: when you are unsure what fields a ModelDefinition, a loader config, or a TemplateV3 workflow takes, list the built-in schemas, print any of them — optionally with a curated example payload, where one ships — and validate a JSON file against one.

Commands

Command Description
dcupl schemas list List all built-in dcupl schemas (models, loader, workflows, workflow nodes, CLI config).
dcupl schemas get <name> Print the schema source for <name>.
dcupl schemas get <name> --example Print the schema source, then append a curated example payload (11 schemas ship one).
dcupl schemas validate <file> --against <name> Validate a JSON file against a [Zod] schema (e.g. TemplateV3); exits 1 when it is invalid.
Flag Description
--example Append a curated example payload after the schema, for the schemas that ship one (see Print a schema).

List available schemas

Start by listing every built-in schema to find the exact name you need:

List all schemas
dcupl schemas list

The output groups schemas by category. This abridged sample shows the kind of names you'll see — the real list is longer:

dcupl schemas list (abridged)
Models:
  ModelDefinition
  ...
Loader:
  AppLoaderConfiguration
Workflows:
  TemplateV3
  ...
Workflow Nodes:
  ...
CLI Config:
  DcuplCliConfig

Each entry is tagged with its type ([TS] / [Zod]), source package, and a one-line description in the full output.

Pass a schema name to print its source. Add --example to also get a concrete payload you can adapt:

Print a schema with an example
dcupl schemas get ModelDefinition --example

Examples ship for ModelDefinition, AttributeQualityConfig, AppLoaderConfiguration, WorkflowConfigV3, TemplateV3 and RestApiTemplate (alias rest-api-template, the REST API template api/<key>.api.json), and for the TriggerRequestConfig, RequestStepConfig, ScriptStepConfig, DataMapperStepConfig and ResponseScriptConfig node configs. For the other schemas, --example prints the source only and the --json result has no example field.

Note

dcupl schemas get <name> --example is the fastest way to learn a schema's exact field names without guessing — no docs lookup required.

Scaffold a workflow template

In plain output, get --example prints the schema source first and the example after it, so redirecting it gives you a file that is not JSON. With --json, the example is a separate example field: extract it to bootstrap a config. This scaffolds a workflow template (format version 3) from the TemplateV3 example and checks it:

Scaffold a workflow template
dcupl schemas get TemplateV3 --example --json | jq -r .example > my.workflow-v3.json
dcupl schemas validate my.workflow-v3.json --against TemplateV3

dcupl generate workflow --name my-workflow is the other way to start: it writes a complete template from a preset to dcupl/workflows/my-workflow.workflow-v3.json (in your baseFolder, default dcupl/, which dcupl files push syncs). Edit the file, then validate and deploy it with the workflow commands.