Skip to main content
A ticket is the central work item in NeetoDesk. For fields and response details, see the API reference. Everywhere a ticket ID is taken, the CLI accepts either the ticket’s UUID or its workspace-scoped number, so neetodesk tickets show 1042 and neetodesk tickets show 0f1e4c9a-6d3b-4f92-8a71-25b0c8d4e6f3 do the same thing. The number is the one shown in the web app, and is usually the easier of the two to type.

List tickets

This command lists the tickets you can access. Use this when you want to triage a queue. Narrow it with a comma-separated --status, where open covers both new and open tickets. Tickets come back newest first unless you pass --sort and --order. With an API key the list covers the whole workspace; with a signed-in session it covers only the tickets you are allowed to see.
Other filters narrow the list further and can be combined:
  • --unassigned returns tickets with no assignee and cannot be combined with --assignee-id or --assignee-email.
  • --tag is repeatable and matches tickets carrying any of the given tags.
  • --query matches the subject only.
Sample output (--json)
assignee and customer are left out when the ticket has none, and fields lists the custom ticket fields as field_name and field_value pairs.

Show a ticket

This command shows one ticket in full, including its description and the agent, customer, group, and tags it is associated with. Use this when you want to read a ticket before you act on it. The record has the same fields as a tickets list entry and sits under a ticket key in data.
Required arguments:
  • <id> - Ticket number or UUID

Create a ticket

This command opens a ticket on behalf of a customer, identified by their email address. Use this when a request reaches you outside NeetoDesk. The description becomes the ticket’s first comment. If no customer with that email exists, one is created.
--group takes a group name, --tag is repeatable, and --field sets a custom ticket field as Name=Value and is repeatable. The value is split on the first =.
--attach attaches a file to the ticket’s first comment. Repeat the flag for more than one file. Every file is uploaded before the ticket is created, so a file that cannot be read or uploaded fails the command and creates nothing. The CLI does not delete the files it had already uploaded before the failure; they are left unattached and reclaimed automatically, so re-running the command is safe.
The response carries only the new ticket’s identifiers and its URL in the web app. With --quiet just the id is printed.
Sample output (--json)

Update a ticket

This command changes a ticket’s subject, description, status, priority, category, sub-categories, resolution due date, custom field values, assignee, group, or tags, and adds files with --attach. Use this when you triage or close a ticket. Pass only the flags you want to change; the rest are left as they are. The updated ticket comes back in full under a ticket key in data.
Required arguments:
  • <id> - Ticket number or UUID
--tag replaces every tag on the ticket. To keep the existing tags, use --add-tag and --remove-tag (both repeatable) instead; they cannot be combined with --tag. Setting the status to moved is refused. --attach adds each file to the ticket’s opening message, beside the files already there, and repeats for more than one file. A ticket that has no opening message cannot take files this way; add them with tickets comments create --attach instead. Attaching applies the workspace attachment limit, 10 MB by default, which is smaller than the 50 MB upload limit, so a file between the two uploads and is then refused.
Sample output (--json)

List comments

This command lists a ticket’s comments in the order they were added, each with its type, author, and body. Use this when you want to read the conversation on a ticket.
Required arguments:
  • <ticket-id> - Ticket number or UUID
Sample output (--json)
A comment the system wrote has an author of type system with no id or email. Each entry in attachments carries the file’s id, filename, and url.

Show a comment

This command shows one comment on a ticket, under a comment key in data. Use this when you want a single comment after finding its ID from tickets comments list.
Required arguments:
  • <ticket-id> - Ticket number or UUID
  • <comment-id> - Comment UUID

Create a comment

This command adds a comment to a ticket. Use this when you want to answer the customer or leave an internal note. A reply is published on the ticket where the customer reads it; a note stays internal to the workspace. The comment is attributed to you, the signed-in user. The new comment comes back under a comment key in data, and --quiet prints just its id.
Required arguments:
  • <ticket-id> - Ticket number or UUID
--attach attaches a file to the comment, and the flag repeats for more than one file. As with tickets create, every file is uploaded first, so a file that cannot be read or uploaded fails the command and adds no comment.
Use attachments upload when the file has to be attached by a later call than the one that uploads it. tickets drafts create --attach keeps a file on a draft until the draft is sent.

Create a draft

This command saves an unsent draft on a ticket, replacing whichever draft the ticket already holds of that type. A reply drafted for an agent, named with --author-email, gets that agent’s saved signature appended. Use this when a reply needs review before it is sent.
Required arguments:
  • <ticket-id> - Ticket number or UUID
Sample output (--json)
The CLI can write drafts but not read them back.