Skip to main content

Configuration

The cloudx config commands inspect, validate, edit, and publish inventory configuration stored in CloudX. Available commands:
  • cloudx config show for the live config, a published version, or a draft
  • cloudx config validate for local YAML files or remote configs
  • cloudx config edit for preparing draft changes to apps, ad units, groups, lists, tags, test devices, network mappings, line items, and A/B tests
  • cloudx config publish for publishing a draft as the live config
  • cloudx config history for 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:

Flags

Validation rules:
  • Use only one of --id, --version, or --draft.
  • --version must be greater than 0.

Output Format

By default, the command prints the config YAML without row metadata:
Use --json to print only the raw config data as JSON:
Use --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 config
Show a published version
Show a config by ID
Show the draft with metadata

cloudx 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:
When you omit the file path, validation runs against the remote live config by default:
Use --id to validate a specific config row, including a draft created by config edit, or --version to validate a published version:

Flags

Validation rules:
  • Local file validation does not support --id or --version.
  • Remote validation supports only one of --id or --version.
  • --version must be greater than 0.
  • 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 file
Fail on warnings
Validate the live config
Validate a draft and print JSON
Validate a published version

cloudx 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

Shared Flags

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 support DOMAIN 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. Use --country on create-ab-test or update-ab-test to target the test variant to specific countries. The flag accepts ISO 3166-1 alpha-2 or alpha-3 country codes, can be repeated, and also accepts comma-separated values. CloudX stores the resulting config targeting as alpha-3 codes.

Create A Line Item

Create requires the core line-item fields below: Create also requires exactly one target: Optional fields: Example:

Update A Line Item

Update commands are patch-like. Only --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: Validation rules:
  • Pass at least one patch field in addition to --id.
  • Use only one of --ad-unit-id or --ad-unit-group-id.
  • Use only one of --bidder or --clear-bidders.
Examples:

Delete A Line Item

Only --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

Validation behavior:
  • 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 draft
Publish with a version label
Print the publish response as JSON
Adjust a bid floor and publish

cloudx 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

Validation rules:
  • --since must be an RFC3339 timestamp or a YYYY-MM-DD date.

Output Format

The default table includes the config ID, version number, kind, created time, author, diff summary, version label, and description.
Diff values are shown as +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:

Examples

List published config history
List recent config changes
Filter by author
Include drafts