> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.neetodesk.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Ticket

> Updates a ticket.

<Warning>
  **Deprecated:** This is a **v1** endpoint. It will continue to work, but we
  recommend migrating to the [v2 equivalent](/api-reference) for improved REST
  compliance (correct HTTP status codes, consistent response envelopes, and
  hyphenated URLs).
</Warning>

<Info>Replace `{your-subdomain}` with your workspace's subdomain. <br /> Learn how to find your subdomain in [Workspace subdomain](/getting-started/workspace-subdomain).</Info>


## OpenAPI

````yaml /bundled-v1/tickets.yaml PUT /tickets/{ticket_id}
openapi: 3.0.3
info:
  title: NeetoDesk APIs
  version: 1.0.0
servers:
  - description: NeetoDesk APIs
    url: https://{your-subdomain}.neetodesk.com/api/v1/public
    variables:
      your-subdomain:
        default: spinkart
        description: >-
          Replace **spinkart** with your [workspace's
          subdomain](/getting-started/workspace-subdomain).
security: []
paths:
  /tickets/{ticket_id}:
    put:
      summary: Update ticket
      description: Updates a ticket.
      parameters:
        - $ref: '#/components/parameters/ticket_id_param'
        - $ref: '#/components/parameters/api_key_header'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTicketRequest'
      responses:
        '200':
          description: OK - Request succeeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  ticket:
                    $ref: '#/components/schemas/Ticket'
components:
  parameters:
    ticket_id_param:
      in: path
      name: ticket_id
      description: >-
        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](/getting-started/getting-ticket-id) section for
        detailed instructions.
      required: true
      schema:
        type: string
    api_key_header:
      in: header
      name: X-Api-Key
      description: >-
        Use the X-Api-Key header to provide your workspace API key. Refer to
        [Authentication](/getting-started/authentication) for more information.
      required: true
      schema:
        type: string
        default: your-api-key
  schemas:
    UpdateTicketRequest:
      allOf:
        - $ref: '#/components/schemas/BaseTicketFields'
        - type: object
          properties:
            status:
              type: string
              description: >-
                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:
              type: string
              description: Priority for the ticket.
              enum:
                - low
                - medium
                - high
                - urgent
              example: urgent
            category:
              type: string
              description: >-
                Category for the ticket. Default categories include `None`,
                `Questions`, `Incident`, `Problem`, `Feature request`, `Refund`.
                Custom categories are also supported.
              example: Problem
            sub_category_one:
              type: string
              description: Sub-category for the ticket.
              example: Billing
            sub_category_two:
              type: string
              description: Second-level sub-category for the ticket.
              example: Refund
            group:
              type: string
              description: Name of an existing group.
              example: sales
            assignee_email:
              type: string
              format: email
              description: Email address belonging to a team member.
              example: oliver@example.com
            tags:
              type: array
              items:
                type: string
              description: Tags to assign to the ticket.
              example:
                - refund
                - urgent
            resolution_due_date:
              type: string
              format: date-time
              description: Resolution due date for the ticket.
              example: '2025-12-31T23:59:59Z'
    Ticket:
      type: object
      properties:
        id:
          type: string
          example: aaaabbbb-cccc-dddd-eeee-ffff00003333
        number:
          type: integer
          example: 42
        subject:
          type: string
          example: How to resolve the pending payments
        description:
          type: string
          example: I need your help in resolving the pending payments.
        priority:
          type: string
          example: medium
        status:
          type: string
          example: open
        category:
          type: string
          nullable: true
          example: Questions
        sub_category_one:
          type: string
          nullable: true
          example: Billing
        sub_category_two:
          type: string
          nullable: true
          example: Refund
        group:
          type: string
          nullable: true
          description: Name of the assigned group.
          example: Sales
        tags:
          type: array
          items:
            type: string
          example:
            - refund
            - urgent
        assignee:
          $ref: '#/components/schemas/Assignee'
          nullable: true
          description: The assigned team member. Absent if unassigned.
        customer:
          $ref: '#/components/schemas/Customer'
          nullable: true
        fields:
          type: array
          description: Custom ticket field values.
          items:
            $ref: '#/components/schemas/TicketField'
    BaseTicketFields:
      type: object
      properties:
        email:
          type: string
          description: Email address of the customer.
          example: john@example.com
        subject:
          type: string
          description: Subject for the ticket.
          example: How to resolve the pending payments
        description:
          type: string
          description: Description for the ticket.
          example: I need your help in resolving the pending payments.
        ticket_fields:
          type: object
          description: >-
            Custom ticket fields. Refer to the [ticket
            fields](https://help.neetodesk.com/articles/ticket-fields) article
            for more details.
          example:
            Country: USA
    Assignee:
      type: object
      properties:
        id:
          type: string
          example: aaaabbbb-cccc-dddd-eeee-ffff00001111
        name:
          type: string
          example: Oliver Smith
        email:
          type: string
          example: oliver@example.com
    Customer:
      type: object
      properties:
        id:
          type: string
          example: aaaabbbb-cccc-dddd-eeee-ffff00002222
        name:
          type: string
          example: John Luther
        email:
          type: string
          example: john@example.com
        phone_numbers:
          type: array
          items:
            type: string
          example:
            - '+1234567890'
    TicketField:
      type: object
      properties:
        field_name:
          type: string
          example: Country
        field_value:
          type: string
          example: USA

````