update-contract
dci update-contract <customerID> <contractID> [body]
Creates a new version of the contract. The contract type is immutable and cannot be changed by an update.
customerID— Identifier of the resource.contractID— Identifier of the resource.
Pass the request body as name: value arguments or pipe JSON on stdin — see Command structure.
Confirmation required
update-contract alters a financial contract, so the CLI classifies it as destructive: it
refuses to run without --yes (or an interactive confirmation) and exits with code 30
otherwise. Each call creates a whole new version, so name, renewalPolicy, and
startDate are required every time; the contract type cannot change.
Examples
# Preview the new version locally without sending it.
dci update-contract <customer-id> <contract-id> --dry-run < contract.json
# Create the new version, confirmed for scripts.
dci update-contract <customer-id> <contract-id> --yes < contract.json
# contract.json
{"name": "Acme AWS resale FY27", "renewalPolicy": "fixed",
"startDate": "2026-10-01T00:00:00Z", "endDate": "2027-09-30T00:00:00Z",
"invoicesEmail": "[email protected]", "contractUpdatesEmail": "[email protected]"}
# A small inline change; the response's `version` is the new version number.
dci update-contract <customer-id> <contract-id> name: "Acme AWS resale FY27 (amended)", renewalPolicy: fixed, startDate: "2026-10-01T00:00:00Z" --yes --output json