Configuration
Thecloudx config commands inspect, validate, edit, and publish inventory configuration stored in CloudX.
Available commands:
cloudx config showfor the live config, a published version, or a draftcloudx config validatefor local YAML files or remote configscloudx config editfor preparing draft changes to apps, ad units, groups, lists, tags, test devices, network mappings, line items, and A/B testscloudx config publishfor publishing a draft as the live configcloudx config historyfor published config history and publish-time diff counts
cloudx config show
Shows a config as YAML by default.
Use this command when you need to review the exact inventory config that CloudX has stored for an account, compare a published version, or inspect a draft before publishing.
Usage
Address Modes
By default,config show returns the live config.
Use only one address mode at a time:
| Mode | Description |
|---|---|
| No address flag | Show the live config. |
--id <config-id> | Show a specific config row by stable ID. Can address a published version or draft. |
--version <number> | Show a published version number within the account. |
--draft | Show the account draft. If multiple drafts exist, use --id instead. |
Flags
| Flag | Required | Default | Description |
|---|---|---|---|
--id | No | Stable config row ID. | |
--version | No | Published config version number. Must be greater than 0. | |
--draft | No | false | Show the current account draft. |
--with-metadata | No | false | Include config row metadata in the output. |
--json | No | false | Print structured JSON instead of the default YAML output. |
- Use only one of
--id,--version, or--draft. --versionmust be greater than0.
Output Format
By default, the command prints the config YAML without row metadata:--json to print only the raw config data as JSON:
--with-metadata when you need fields such as config ID, account ID, kind, version number, created time, creator metadata, YAML, and raw data:
Examples
Show the live configcloudx config validate
Validates either a local YAML file or a remote config.
Use this command before sending a config for review, after creating a draft with cloudx config edit, or when you need JSON validation output for automation.
Usage
Local And Remote Validation
When you pass a file path, validation runs locally and does not call the API:--id to validate a specific config row, including a draft created by config edit, or --version to validate a published version:
Flags
| Flag | Required | Default | Description |
|---|---|---|---|
file | No | Local YAML file to validate. Omit to validate the remote live config. | |
--id | No | Stable config row ID to validate remotely. | |
--version | No | Published config version number to validate remotely. Must be greater than 0. | |
--strict | No | false | Exit non-zero when validation warnings are present. |
--json | No | false | Print structured JSON instead of human-readable output. |
- Local file validation does not support
--idor--version. - Remote validation supports only one of
--idor--version. --versionmust be greater than0.- Without
--strict, warnings are shown but do not make the command fail. - With
--strict, either errors or warnings make the command exit non-zero.
Examples
Validate a local YAML filecloudx config edit
Edits inventory in a config draft.
Most edit commands save a draft and do not publish the config. By default, the CLI creates a draft from the live config. Use --config-id to edit an existing draft in place or copy a specific config row into a new draft. Use cloudx config publish when the draft is ready to become live.
After each edit, CloudX validates the resulting draft. The default human-readable output includes the draft ID, whether a draft was created or updated, the base config ID, changed paths, and validation counts. If validation finds issues, the output also shows the cloudx config validate --id <draft-id> command to inspect details.
API clients can perform the same writes with POST /api/v1/config/edit. The endpoint requires configuration:write, accepts a typed operations array, and uses the account selected by the authenticated API key.
Cascade delete is not exposed in the public CLI or API write surface.
Commands
| Command | Description |
|---|---|
cloudx config edit create-app / update-app / delete-app | Create, patch, or delete an app. |
cloudx config edit create-ad-unit / update-ad-unit / delete-ad-unit | Create, patch, or delete an ad unit. |
cloudx config edit create-ad-unit-group / update-ad-unit-group / delete-ad-unit-group | Create, replace membership for, or delete an ad unit group. |
cloudx config edit remove-ad-unit-from-group | Remove one ad unit from a group. |
cloudx config edit create-list / update-list / delete-list | Create, patch, or delete targeting lists. |
cloudx config edit create-tag / update-tag / delete-tag | Create, patch, or delete tags. |
cloudx config edit upsert-test-device / delete-test-device | Create, patch, or delete app test devices. |
cloudx config edit upsert-network-mapping / delete-network-mapping | Create, patch, or delete app/ad-unit bidder mappings. |
cloudx config edit create-ab-test | Create an A/B test draft. |
cloudx config edit update-ab-test / start-ab-test / end-ab-test / promote-ab-test / delete-ab-test | Change an A/B test and publish the resulting config. |
cloudx config edit create-line-item | Create a line item in a draft config. |
cloudx config edit update-line-item | Patch an existing line item in a draft config. |
cloudx config edit delete-line-item | Delete a line item from a draft config. |
Shared Flags
| Flag | Required | Default | Description |
|---|---|---|---|
--config-id | No | Config row ID to edit. Drafts are edited in place; published or live configs are copied into a new draft. | |
--summary | No | Generated from the edit | Draft label or edit summary. |
--strict | No | false | Exit non-zero when validation warnings are present. Validation errors always exit non-zero. |
--json | No | false | Print structured JSON instead of the default concise output. |
Apps
Create and patch apps with core store metadata. Optional string fields can be cleared on update by passing an empty string.Ad Units
Create and patch ad units with decimal USD CPM bid floors.--app-id, --id, and references in examples below can be stable IDs or resolvable names where supported by the command.
Ad Unit Groups
Group creates and updates require at least one--ad-unit-id. Updating a group replaces its membership with the supplied IDs.
Lists
Lists supportDOMAIN and IAB_CONTENT_CATEGORY. Pass repeated --value flags, or --empty when an empty list is intentional. Deletes fail while the list is still referenced by targeting or account blocked-list settings.
Tags
Frequency cap fields must be supplied together. Use--clear-frequency-cap on update to remove a cap. Deletes fail while the tag is still referenced by a line item.
Test Devices
Test devices are scoped to an app and device advertising identifier. Upsert only changes supplied optional fields on existing devices.Network Mappings
Mappings can target exactly one app or ad unit. Use repeated--field key=value flags for adapter-specific values; CloudX validates required fields and formats in the draft validation result.
A/B Tests
create-ab-test creates a draft. update-ab-test, start-ab-test, end-ab-test, promote-ab-test, and delete-ab-test publish the resulting config immediately and return the published config ID and version.
Create A Line Item
| Flag | Description |
|---|---|
--name <name> | Line item name. |
--priority <number> | Line item priority. Lower numbers are evaluated first. |
--bidfloor <usd-cpm> | Line item floor in decimal USD CPM. For example, 1.5 is $1.50 CPM. |
| Flag | Description |
|---|---|
--ad-unit-id <id> | Target ad unit ID. |
--ad-unit-group-id <id> | Target ad unit group ID. |
| Flag | Description |
|---|---|
--status <status> | Line item status, such as draft, active, or paused. |
--bidder <adapter> | Bidder adapter to enable. Repeat for multiple bidders. |
Update A Line Item
--id is always required; pass at least one patch field to change. Omitted fields keep their current values. Changing the target with --ad-unit-id or --ad-unit-group-id clears the previous target reference.
Patch fields:
| Flag | Description |
|---|---|
--id <id> | Line item ID. Required. |
--name <name> | Optional. Patch the line item name. |
--priority <number> | Optional. Patch the line item priority. |
--bidfloor <usd-cpm> | Optional. Patch the line item floor in decimal USD CPM. |
--status <status> | Optional. Patch the line item status. |
--ad-unit-id <id> | Optional. Patch the target ad unit ID and clear any ad unit group target. |
--ad-unit-group-id <id> | Optional. Patch the target ad unit group ID and clear any ad unit target. |
--bidder <adapter> | Optional. Replace bidders with the provided bidder adapter list. Repeat for multiple bidders. |
--clear-bidders | Optional. Clear all bidders from the line item. Cannot be used with --bidder. |
- Pass at least one patch field in addition to
--id. - Use only one of
--ad-unit-idor--ad-unit-group-id. - Use only one of
--bidderor--clear-bidders.
Delete A Line Item
--id is required.
Examples:
OpenAPI Operations
POST /api/v1/config/edit uses the same operation names as the CLI: create_app, update_app, delete_app, create_ad_unit, update_ad_unit, delete_ad_unit, create_ad_unit_group, update_ad_unit_group, delete_ad_unit_group, remove_ad_unit_from_group, create_list, update_list, delete_list, create_tag, update_tag, delete_tag, upsert_test_device, delete_test_device, upsert_network_mapping, delete_network_mapping, create_line_item, update_line_item, delete_line_item, create_ab_test, update_ab_test, start_ab_test, end_ab_test, promote_ab_test, and delete_ab_test.
cloudx config publish
Publishes a draft config as the live config.
Use this command after editing and validating a draft. CloudX runs the same publish-time validation checks used by the dashboard before the draft becomes live.
Usage
Flags
| Flag | Required | Default | Description |
|---|---|---|---|
--id | Yes | Draft config row ID to publish as live. | |
--version-label | No | Optional label for the published config version. | |
--json | No | false | Print structured JSON instead of the default concise output. |
- Validation errors prevent publishing and make the command exit non-zero.
- Warnings are shown after a successful publish but do not make the command fail.
- When warnings remain, the output shows a
cloudx config validate --id <config-id>command to inspect details.
Examples
Publish a draftcloudx config history
Lists config history rows as a table by default.
Use this command when you need to review recent config publishes, see who created each row, or check the precomputed publish-time diff counts for additions and deletions.
Usage
Flags
| Flag | Required | Default | Description |
|---|---|---|---|
--since | No | Only include configs created at or after this time. Supports RFC3339 timestamps or YYYY-MM-DD dates. | |
--author | No | Filter by creator user ID, email, or name substring. | |
--include-drafts | No | false | Include config drafts. By default only published versions are returned. |
--json | No | false | Print structured JSON instead of the default table output. |
--sincemust be an RFC3339 timestamp or aYYYY-MM-DDdate.
Output Format
The default table includes the config ID, version number, kind, created time, author, diff summary, version label, and description.+additions/-deletions, using the diff_additions and diff_deletions values computed when the config was published.
Use --json when scripts need the raw response fields: