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

# Update Ticket

> This endpoint updates properties of a ticket




## OpenAPI

````yaml PATCH /tickets/{ticket_id}
openapi: 3.0.3
info:
  title: API - Local
  description: >-
    #### Welcome to the official Postman collection of Periskope API


    Periskope APIs enable you automate actions on your WhatsApp phone, and the
    Periskope platform


    - Read more about the APIs & webhooks here -
    [https://docs.periskope.app/api-reference/introduction](https://docs.periskope.app/api-reference/introduction)
        
    - We encourage responsible usage of the APIs. Follow these best practices
    and recommendations for safe actions on WhatsApp -
    [https://docs.periskope.app/get-started/best-practices](https://docs.periskope.app/get-started/best-practices)
        

    #### Getting Started


    ##### Pre-requisites:


    1. **Sign up for a free account on Periskope:** To use the Periskope API,
    you need to have an active Periskope account. If you don’t have one, you can
    sign up for a 7-day free trial [here](https://console.periskope.app).
        
    2. **Scan the QR code from WhatsApp to connect your phone:** A connected
    phone is required to use the APIs
        
    3. **Go to** [Settings &gt;
    API](https://console.periskope.app/settings/api), and generate an API key
    for your organization - The API key is used to authenticate every request.
    Please keep this secure
        

    ##### Using Postman:


    1. **Fork the collection so you can edit values and test the APIs in your
    own postman environment:** To fork the collection, click on the three dots
    next to v1. Then click on create a fork (_shortcut: Ctrl + Alt + F)._
        
    2. **Update the value of the variables in the collection:**  
        \- Update the API key with the key generated in Step 3  
        \- Update the phone number with your connected number. This number will be added to the `x-phone` header across requests
        
        It must be in the format of country code+number, with no special characters or spaces _e.g. +91 98745 32456 becomes 919874532456_
        

    For any help or feedback, please contact us at
    [support@periskope.app](https://mailto:support@periskope.app), or ping us on
    [WhatsApp](https://what.sapp.link/periskope)
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.periskope.app/v1
security:
  - bearerAuth: []
tags:
  - name: contacts
  - name: tickets
  - name: tasks
  - name: phones
  - name: message
  - name: queue
  - name: chats
  - name: group
  - name: members
  - name: webhooks
paths:
  /tickets/{ticket_id}:
    parameters:
      - name: ticket_id
        in: path
        required: true
        schema:
          type: string
          example: BKT-001
          description: '- The unique identifier of the ticket'
    patch:
      tags:
        - tickets
      summary: Update Ticket
      description: |
        This endpoint updates properties of a ticket
      operationId: updateTicket
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                assignee:
                  type: string
                  example: ''
                  description: >-
                    - Update the assignee of the ticket. Must be an email of a
                    user in the organization
                closed_by:
                  type: string
                  example: bharat@hashlabs.dev
                  description: >-
                    - Email of the user who is closing the ticket. Must be the
                    email of a user in the organization
                closed_message:
                  type: string
                  example: Issue resolved after customer confirmation
                  description: >-
                    - A closing message saved alongside the ticket for
                    additional context when it is closed
                custom_properties:
                  type: object
                  properties:
                    Custom Property 1:
                      type: string
                      example: hello
                  description: >-
                    - A record (key-value pair) of the property name or property
                    id as keys, along with the updated value
                due_date:
                  nullable: true
                  example: null
                  description: |-
                    - Updates the due date of the ticket.
                    - Must be a string that can be parsed to a date
                labels:
                  type: string
                  example: ''
                  description: >-
                    - A comma-separated list of labels to be assigned to the
                    tickets. All labels are case-insensitive.

                    - If any label currently does not exist, it will be created
                priority:
                  type: string
                  example: '2'
                  description: |-
                    - Updates the priority of the ticket.
                    - Only accepts the following values - 1,2,3,4
                      - 1 = Low
                      - 2 = Medium
                      - 3 = High
                      - 4 = Urgent
                status:
                  type: string
                  example: ''
                  description: >-
                    - Updates the status of the ticket.

                    - Only accepts the following values - open, inprogress,
                    closed, archived
                subject:
                  type: string
                  example: New subject 1
                  description: '- Updates the subject of the ticket'
            examples:
              Update Ticket:
                value:
                  assignee: ''
                  closed_by: bharat@hashlabs.dev
                  closed_message: Issue resolved after customer confirmation
                  custom_properties:
                    Custom Property 1: hello
                  due_date: null
                  labels: ''
                  priority: '2'
                  status: ''
                  subject: New subject 1
      responses:
        '200':
          description: 200 OK
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Connection:
              schema:
                type: string
                example: keep-alive
            Content-Length:
              schema:
                type: string
                example: '2309'
            Date:
              schema:
                type: string
                example: Mon, 27 Jan 2025 08:32:10 GMT
            ETag:
              schema:
                type: string
                example: W/"905-9omgdfPaJaNVAVC0ivgFPUy9M4M"
            Keep-Alive:
              schema:
                type: string
                example: timeout=5
            X-Powered-By:
              schema:
                type: string
                example: Express
            X-RateLimit-Limit:
              schema:
                type: string
                example: '10'
            X-RateLimit-Remaining:
              schema:
                type: string
                example: '9'
            X-RateLimit-Reset:
              schema:
                type: string
                example: '1737966732'
            x-periskope-org-id:
              schema:
                type: string
                example: 2997dd64-89bf-48d3-9a22-b314fca017e5
            x-periskope-trace-id:
              schema:
                type: string
                example: 3368ef40-dc89-11ef-b980-8b3712be023d
          content:
            application/json:
              schema:
                type: object
                description: >-
                  The response is a ticket object. Refer to [the ticket object
                  here](/api-reference/objects/the-ticket-info-object)
              examples:
                200 OK:
                  value:
                    attached_messages: []
                    chat:
                      chat_id: 919537851844@c.us
                      chat_image: >-
                        https://storage.googleapis.com/periskope-images/2997dd64-89bf-48d3-9a22-b314fca017e5%2F919537851844%40c.us.jpg?timestamp=1737689973340
                      chat_labels: label1, label2
                      chat_name: BK Local1
                      chat_type: user
                      created_at: '2025-01-18T14:51:03+00:00'
                      custom_properties:
                        Custom Property 1: hello
                      group_description: null
                      invite_link: null
                      is_muted: false
                      members:
                        918527184400@c.us:
                          chat_id: 919537851844@c.us
                          contact_color: '#B4876E'
                          contact_id: 918527184400@c.us
                          contact_image: >-
                            https://storage.googleapis.com/periskope-images/2997dd64-89bf-48d3-9a22-b314fca017e5%2F918527184400%40c.us.jpg?timestamp=1737690126280
                          contact_labels: ''
                          contact_name: Support
                          is_admin: true
                          is_internal: true
                          is_super_admin: true
                          org_id: 2997dd64-89bf-48d3-9a22-b314fca017e5
                          org_phone: 918527184400@c.us
                        919537851844@c.us:
                          chat_id: 919537851844@c.us
                          contact_color: '#B4876E'
                          contact_id: 919537851844@c.us
                          contact_image: >-
                            https://storage.googleapis.com/periskope-images/2997dd64-89bf-48d3-9a22-b314fca017e5%2F919537851844%40c.us.jpg?timestamp=1737689973340
                          contact_labels: label1, label2
                          contact_name: BK Local1
                          is_admin: true
                          is_internal: false
                          is_super_admin: true
                          org_id: 2997dd64-89bf-48d3-9a22-b314fca017e5
                          org_phone: 918527184400@c.us
                      org_id: 2997dd64-89bf-48d3-9a22-b314fca017e5
                      org_phone: 918527184400@c.us
                    message:
                      body: >-
                        You have been invited to join Test New 1039


                        https://chat.whatsapp.com/invite/CGiTdfn1dUM8J67GEx1lyx


                        If you cannot click the link, please respond to this
                        message, and the link will become active
                      chat_id: 919537851844@c.us
                      media_path: ''
                      message_id: >-
                        true_919537851844@c.us_3EB0ABB7C973860FC19EBE05FD934141CCEC2D8B
                      org_phone: 918527184400@c.us
                      performed_by: null
                      sender_name: Support
                      sender_phone: '918527184400'
                      timestamp: '2025-01-24T05:11:08+00:00'
                    ticket:
                      org_id: 2997dd64-89bf-48d3-9a22-b314fca017e5
                      status: closed
                      subject: New subject 1
                      assignee: ''
                      due_date: '2026-05-25T03:58:31+00:00'
                      priority: 2
                      closed_at: '2026-05-19T11:31:29.268+00:00'
                      closed_by: ''
                      raised_by: null
                      ticket_id: ''
                      created_at: '2026-05-19T07:58:29.726+00:00'
                      is_deleted: false
                      assigned_by: ''
                      ticket_labels: ''
                      closed_message: null
                      first_assigned_at: null
                      quoted_message_id: 3EB0ABB7C973860FC19EBE05FD934141CCEC2D8B
                      ticket_custom_properties: {}
      x-codeSamples:
        - lang: TypeScript
          label: Node.js
          source: |-
            import { PeriskopeApi } from '@periskope/periskope-client';

            const client = new PeriskopeApi({
              authToken: 'YOUR_API_KEY',
            });

            async function updateTicket() {
              const response = await client.ticket.update({
                ticket_id: 'BKT-001',
                assignee: 'bharat@hashlabs.dev'
              });

              console.log(response);
            }

            updateTicket();
        - lang: cURL
          label: cURL
          source: |-
            curl -X PATCH \
              https://api.periskope.app/v1/tickets/{ticket_id} \
              -H 'Authorization: Bearer <token>' \
              -H 'Content-Type: application/json' \
              -d '{
                "assignee": "bharat@hashlabs.dev"
              }'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````