Skip to main content

list-contracts

dci list-contracts customerID

Lists the contracts held by the specified customer. Callable by a T1/T2 PartnerOps principal for its own tenant or any descendant tenant. Read access requires contractsReadOnly, contractsViewer, or a write-capable role (without contractsReadOnly). User API tokens must include the matching permission in their scope.

Output

OK - The request succeeded.

By default dci renders the result as a table. Use --output json to get the full structure described below — see Output formats.

FieldTypeDescription
[].idstringThe unique identifier of the contract.
[].customerIdstringThe customer (tenant) that holds the contract.
[].typestringThe immutable contract type.
[].statusstringThe contract status. One of: "draft", "scheduled", "active", "cancelled", "expired", "superseded".
[].namestringThe contract name.
[].startDatestring (date-time)The contract start date.
[].endDatestring (date-time)The contract end date.
[].renewalPolicystringThe renewal policy. One of: "auto", "manual", "fixed".
[].currentVersionNumberintegerThe current version number of the contract.
[].timeCreatedstring (date-time)When the contract was created.
Raw JSON schema
{
"type": "array",
"items": {
"type": "object",
"description": "External view of a contract. DoiT-internal fields are not exposed.",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of the contract."
},
"customerId": {
"type": "string",
"description": "The customer (tenant) that holds the contract."
},
"type": {
"type": "string",
"description": "The immutable contract type."
},
"status": {
"type": "string",
"description": "The contract status.",
"enum": [
"draft",
"scheduled",
"active",
"cancelled",
"expired",
"superseded"
]
},
"name": {
"type": "string",
"description": "The contract name."
},
"startDate": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "The contract start date."
},
"endDate": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "The contract end date."
},
"renewalPolicy": {
"type": "string",
"description": "The renewal policy.",
"enum": [
"auto",
"manual",
"fixed"
]
},
"currentVersionNumber": {
"type": "integer",
"nullable": true,
"description": "The current version number of the contract."
},
"timeCreated": {
"type": "string",
"format": "date-time",
"description": "When the contract was created."
}
}
}
}

Errors

On failure, dci prints a single error message — with a hint when one is available — and exits with a typed code your scripts can branch on. See Errors and exit codes for the full contract.

HTTP statusExit codeError codeMeaning
40110AUTHENTICATION_FAILEDNot signed in, or the API token is invalid. Run dci login or check DCI_API_KEY.
40311PERMISSION_DENIEDThe DoiT user or the active customer context does not have access.

Aliases: listcontracts