create-ticket-comment
dci create-ticket-comment ticketId
Adds a comment to an existing support request. For customers, comments
are always public. For DoiT employees, comments can be marked as
private (internal notes) by setting the private field to true.
Request
Content-Type: application/json
Schema
{
"type": "object",
"description": "Request body for adding a comment to a support ticket.",
"required": [
"body"
],
"properties": {
"body": {
"type": "string",
"description": "The text content of the comment. Must not be empty."
},
"private": {
"type": "boolean",
"description": "If true, creates a private internal note. Only honored for DoiT employees; ignored for customers.",
"default": false
}
}
}
Output
Created - Comment added to the support request.
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 | integer (int64) | Comment ID. |
body | string | The text content of the comment. |
author | string | Stable comment-author attribution. User callers are represented by their verified email address; service-account callers use sa:<serviceAccountId>. |
created | integer (int64) | The time when this comment was created, in milliseconds since the epoch. |
attachments | array of object | File attachments on the comment. |
attachments[].id | integer (int64) | |
attachments[].file_name | string | |
attachments[].content_url | string |
Raw JSON schema
{
"type": "object",
"description": "A comment on a support ticket.",
"properties": {
"id": {
"type": "integer",
"description": "Comment ID.",
"format": "int64"
},
"body": {
"type": "string",
"description": "The text content of the comment."
},
"author": {
"type": "string",
"description": "Stable comment-author attribution. User callers are represented by\ntheir verified email address; service-account callers use\n`sa:<serviceAccountId>`."
},
"created": {
"type": "integer",
"description": "The time when this comment was created, in milliseconds since the epoch.",
"format": "int64"
},
"attachments": {
"type": "array",
"description": "File attachments on the comment.",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"file_name": {
"type": "string"
},
"content_url": {
"type": "string"
}
}
}
}
}
}
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 | 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. |
| 404 | 20 | RESOURCE_NOT_FOUND | The requested resource does not exist. Check the identifier argument. |
Aliases: id-of-ticket-comments-post