create-folder
dci create-folder [body]
Creates a new Cloud Analytics folder.
Pass the request body as name: value arguments or pipe JSON on stdin — see Command structure.
Putting things in the folder
A folder is created empty. Move a report into it with
dci update-report <report-id> folderId: <folder-id> (and an allocation with
dci update-allocation).
Examples
# Create a top-level folder for reports and allocations.
dci create-folder name: FinOps
# Create a folder inside another one (parent IDs come from `dci list-folders`).
dci create-folder name: "AWS reports", description: "Owned by the platform team", parentFolderId: <folder-id>
# Capture the new folder's ID for a script.
dci create-folder name: FinOps --output json | jq -r .id
Request
Content-Type: application/json
| Field | Type | Required | Description |
|---|---|---|---|
name | string | yes | Folder name. |
description | string | Folder description. | |
parentFolderId | string | Identifier of the parent folder. Use "root" or omit to place the folder at the top level. Default: "root". |
Raw JSON schema
{
"required": [
"name"
],
"type": "object",
"description": "Request body for creating a folder.",
"properties": {
"name": {
"type": "string",
"description": "Folder name."
},
"description": {
"type": "string",
"description": "Folder description."
},
"parentFolderId": {
"type": "string",
"description": "Identifier of the parent folder. Use \"root\" or omit to place the folder at the top level.",
"default": "root",
"example": "root"
}
}
}
Output
Created - The folder was created.
By default dci renders the result as a table. Use --output json to get the full structure described below — see Output formats.
| Field | Type | Description |
|---|---|---|
id | string | Folder ID. |
name | string | Folder name. |
description | string | Folder description. |
parentFolderId | string | Identifier of the parent folder. Set to "root" if the folder is at the top level. Default: "root". |
Raw JSON schema
{
"type": "object",
"description": "A Cloud Analytics folder.",
"properties": {
"id": {
"type": "string",
"description": "Folder ID."
},
"name": {
"type": "string",
"description": "Folder name."
},
"description": {
"type": "string",
"description": "Folder description."
},
"parentFolderId": {
"type": "string",
"description": "Identifier of the parent folder. Set to \"root\" if the folder is at the top level.",
"default": "root",
"example": "root"
}
}
}
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 status to exit code mapping
| HTTP status | Exit code | Error code | Meaning |
|---|---|---|---|
| 400 | 30 | VALIDATION_ERROR | The arguments or request body were rejected. Review the command's flags and payload. |
| 401 | 10 | AUTHENTICATION_FAILED | Not signed in, or the API token is invalid. Run dci login or check DCI_API_KEY. |
| 403 | 11 | PERMISSION_DENIED | The DoiT user or the active customer context does not have access. |
| 500 | 40 | API_SERVER_ERROR | The API failed to process the request. Retryable; contact DoiT support if it persists. |
Related
- list-folders — List folders
- get-folder — Get a folder
- update-folder — Update a folder
- delete-folder — Delete a folder
- update-report — Update a report
- API reference: POST /analytics/v1/folders
Aliases: createfolder