Skip to main content
PUT
/
tickets
/
{ticket_id}
Update ticket
curl --request PUT \
  --url https://{your-subdomain}.neetodesk.com/api/v1/public/tickets/{ticket_id} \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: <x-api-key>' \
  --data '
{
  "email": "john@example.com",
  "subject": "How to resolve the pending payments",
  "description": "I need your help in resolving the pending payments.",
  "ticket_fields": {
    "Country": "USA"
  },
  "status": "closed",
  "priority": "urgent",
  "category": "Problem",
  "sub_category_one": "Billing",
  "sub_category_two": "Refund",
  "group": "sales",
  "assignee_email": "oliver@example.com",
  "tags": [
    "refund",
    "urgent"
  ],
  "resolution_due_date": "2025-12-31T23:59:59Z"
}
'
{
  "ticket": {
    "id": "aaaabbbb-cccc-dddd-eeee-ffff00003333",
    "number": 42,
    "subject": "How to resolve the pending payments",
    "description": "I need your help in resolving the pending payments.",
    "priority": "medium",
    "status": "open",
    "category": "Questions",
    "sub_category_one": "Billing",
    "sub_category_two": "Refund",
    "group": "Sales",
    "tags": [
      "refund",
      "urgent"
    ],
    "assignee": {
      "id": "aaaabbbb-cccc-dddd-eeee-ffff00001111",
      "name": "Oliver Smith",
      "email": "oliver@example.com"
    },
    "customer": {
      "id": "aaaabbbb-cccc-dddd-eeee-ffff00002222",
      "name": "John Luther",
      "email": "john@example.com",
      "phone_numbers": [
        "+1234567890"
      ]
    },
    "fields": [
      {
        "field_name": "Country",
        "field_value": "USA"
      }
    ]
  }
}
Deprecated: This is a v1 endpoint. It will continue to work, but we recommend migrating to the v2 equivalent for improved REST compliance (correct HTTP status codes, consistent response envelopes, and hyphenated URLs).
Replace {your-subdomain} with your workspace’s subdomain.
Learn how to find your subdomain in Identifying subdomain.

Headers

X-Api-Key
string
default:your-api-key
required

X-Api-Key is used to authenticate requests using an API key. Provide your API key in this header to access protected endpoints. Refer to Authentication for more information.

Path Parameters

ticket_id
string
required

ID of the ticket to retrieve comments for. You can use either the ticket ID (UUID) or ticket number (sequential number) interchangeably. Refer to Getting Ticket ID section for detailed instructions.

Body

application/json
email
string

Email address of the customer.

Example:

"john@example.com"

subject
string

Subject for the ticket.

Example:

"How to resolve the pending payments"

description
string

Description for the ticket.

Example:

"I need your help in resolving the pending payments."

ticket_fields
object

Custom ticket fields. Refer to the ticket fields article for more details.

Example:
{ "Country": "USA" }
status
string

Status for the ticket. Default statuses include new, open, on_hold, waiting_on_customer, closed, spam, trash. Custom statuses are also supported.

Example:

"closed"

priority
enum<string>

Priority for the ticket.

Available options:
low,
medium,
high,
urgent
Example:

"urgent"

category
string

Category for the ticket. Default categories include None, Questions, Incident, Problem, Feature request, Refund. Custom categories are also supported.

Example:

"Problem"

sub_category_one
string

Sub-category for the ticket.

Example:

"Billing"

sub_category_two
string

Second-level sub-category for the ticket.

Example:

"Refund"

group
string

Name of an existing group.

Example:

"sales"

assignee_email
string<email>

Email address belonging to a team member.

Example:

"oliver@example.com"

tags
string[]

Tags to assign to the ticket.

Example:
["refund", "urgent"]
resolution_due_date
string<date-time>

Resolution due date for the ticket.

Example:

"2025-12-31T23:59:59Z"

Response

200 - application/json

OK - Request succeeded

ticket
object