Skip to main content
Reading is the safe half of the resource model: datumctl get and datumctl describe never change anything on the platform, so they are the commands you reach for constantly — to see what exists, confirm a change landed, or troubleshoot a resource that isn’t behaving. Both use the same verbs across every Datum Cloud resource type, so once you learn them you can read anything the platform exposes.
New to the CLI? Start with the Quickstart to install, log in, and run your first command. Every read runs against your active scope — see Contexts & scoping to control which organization or project that is.

datumctl get — list and retrieve

datumctl get displays one or more resources. By default it prints a compact, human-readable table; add -o to switch to machine-readable output for scripting and inspection.

List a resource type

Pass a resource type to list every resource of that type in your current scope:
# List all DNS zones in a project
datumctl get dnszones --project <project-id>

# List all projects in an organization
datumctl get projects --organization <org-id>
datumctl get organizations lists your organization memberships and does not require an --organization or --project flag. Every other resource type needs one of those flags to identify the target context.

Retrieve a single resource

Add a name to fetch just one resource. Pairing this with -o yaml is the usual way to see a resource’s full definition:
# Table row for one zone
datumctl get dnszone my-zone --project <project-id>

# The complete resource definition
datumctl get dnszone my-zone --project <project-id> -o yaml

Choose an output format

The -o (--output) flag controls how results are rendered. The formats you’ll use most:
FormatWhat you get
(default)A compact table of the most relevant columns
-o wideThe default table plus extra columns
-o jsonFull resource JSON — ideal for jq and scripts
-o yamlFull resource YAML — matches the manifest form you’d apply
-o nameJust type/name, one per line — handy for piping into other commands
# Extra columns in the table
datumctl get dnszones --project <project-id> -o wide

# Full JSON for scripting
datumctl get dnszones --project <project-id> -o json

# Bare identifiers to feed another command
datumctl get dnszones --project <project-id> -o name
-o json and -o yaml return the complete server-side object, including status, while -o wide only adds columns to the table. For structured-output patterns, jq/yq pipelines, and error formatting, see Output formats & scripting.

Narrow, sort, and watch

A few flags make lists easier to work with:
# Filter by label selector
datumctl get dnszones --project <project-id> -l app=my-app

# List across every namespace in scope
datumctl get dnszones --organization <org-id> --all-namespaces

# Watch for changes and stream updates as they happen
datumctl get projects --organization <org-id> --watch

datumctl describe — full detail and status

Where get gives you a concise row, datumctl describe prints a detailed, human-readable report for one or more resources, including status conditions and related events where available. Reach for it when a resource isn’t reaching a ready state and you need to understand why.
# Describe one resource
datumctl describe dnszone my-zone --project <project-id>

# Describe every resource of a type in a namespace
datumctl describe dnszones --project <project-id>

# Describe by label selector
datumctl describe dnszones -l app=my-app --project <project-id>

# Describe resources named in a manifest file
datumctl describe -f ./zone.yaml --project <project-id>
You can select resources by name, by label selector (-l), or from a manifest file (-f). Passing a name prefix shows details for every resource whose name starts with that prefix.
Use datumctl get for a quick inventory and datumctl describe when you need the full status picture — conditions, messages, and events that explain what the platform is doing with a resource.

get vs. describe at a glance

QuestionReach for
What resources exist right now?datumctl get <type>
I want the raw definition to inspect or script againstdatumctl get <type> <name> -o yaml / -o json
Why isn’t this resource ready?datumctl describe <type> <name>
I want to feed identifiers into another commanddatumctl get <type> -o name

Last modified on July 2, 2026