> ## 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 Chat

> This endpoint updates properties of a chat




## OpenAPI

````yaml PATCH /chats/{chat_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
  - name: custom properties
paths:
  /chats/{chat_id}:
    parameters:
      - name: chat_id
        in: path
        required: true
        schema:
          type: string
          example: '919537851844'
        description: >-
          - The unique id of the chat

          - For individual chats, this would be the country_code + number (e.g.,
          918527184400), followed by @c.us

          - For groups, this would end with @g.us
    patch:
      tags:
        - chats
      summary: Update Chat
      description: |
        This endpoint updates properties of a chat
      operationId: updateChat
      parameters:
        - name: x-phone
          in: header
          schema:
            type: string
            example: '918527184400'
          description: >-
            Please provide the number of the phone you want to call with this
            API in the header. The number must be in country code + number
            format without any characters or spaces, e.g. 919876543210;
            Alternatively, provide the phone_id (phone-xxxxxxxxxxxx) in the
            header
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                assigned_to:
                  type: string
                  example: bharat@hashlabs.dev
                  description: >-
                    - Update the assignee of the chat. The assignee must be a
                    valid email address of a user in the organization
                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
                labels:
                  type: string
                  example: chatlabel1,chatlabel2
                  description: >-
                    - A comma-separated list of labels to be assigned to the
                    chat. All labels are case-insensitive.

                    - If any label currently does not exist, it will be created
            examples:
              Update Chat:
                value: ''
      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: '2761'
            Date:
              schema:
                type: string
                example: Sun, 26 Jan 2025 13:05:59 GMT
            ETag:
              schema:
                type: string
                example: W/"ac9-EOpSAJXIhlLFANfA4wOXE5DtH3w"
            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: '1737896761'
            x-periskope-org-id:
              schema:
                type: string
                example: 2997dd64-89bf-48d3-9a22-b314fca017e5
            x-periskope-phone-id:
              schema:
                type: string
                example: phone-bqzvyibhmwkaergr
            x-periskope-trace-id:
              schema:
                type: string
                example: 49946e00-dbe6-11ef-98d2-afe02127d4e6
          content:
            application/json:
              schema:
                type: object
                description: >-
                  The response is a chat object. Refer to [the chat object
                  here](/api-reference/objects/the-chat-object)
              examples:
                200 OK:
                  value:
                    assigned_to: bharat@hashlabs.dev
                    chat_access:
                      bharat@hashlabs.dev: true
                    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_name: BK Local1
                    chat_type: user
                    closed_at: null
                    created_at: '2025-01-18T14:51:03+00:00'
                    custom_properties:
                      property-tlkudzxmhjkgoktm: hello
                    group_description: null
                    info_admins_only: null
                    invite_link: null
                    is_exited: false
                    is_muted: false
                    label_ids:
                      label-egylglffhfsuzpbu: true
                      label-jolyvzhabwojsrze: true
                    labels:
                      - chatlabel1
                      - chatlabel2
                    latest_message:
                      ack: '4'
                      author: null
                      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
                      broadcast: null
                      broadcast_id: null
                      chat_id: 919537851844@c.us
                      delivery_info:
                        delivered:
                          919537851844@c.us: 1737695471721
                        delivered_count: 1
                        pending: []
                        read:
                          919537851844@c.us: 1737711828823
                        read_count: 1
                      device_type: null
                      duration: null
                      flag_metadata: null
                      flag_response_time: null
                      flag_status: null
                      forwarding_score: null
                      from: null
                      from_me: true
                      fts: >-
                        '/invite/cgitdfn1dum8j67gex1lyx':12 '1039':9 'activ':29
                        'becom':28 'cannot':15 'chat.whatsapp.com':11
                        'chat.whatsapp.com/invite/cgitdfn1dum8j67gex1lyx':10
                        'click':16 'invit':4 'join':6 'link':18,26 'messag':23
                        'new':8 'pleas':19 'respond':20 'test':7
                      has_media: null
                      has_quoted_msg: null
                      has_reaction: null
                      id:
                        from_me: true
                        id: 3EB0ABB7C973860FC19EBE05FD934141CCEC2D8B
                        remote: 919537851844@c.us
                        serialized: >-
                          true_919537851844@c.us_3EB0ABB7C973860FC19EBE05FD934141CCEC2D8B
                      interactive: null
                      invite_v4: null
                      is_deleted: null
                      is_ephemeral: null
                      is_forwarded: null
                      is_gif: null
                      is_starred: null
                      is_status: null
                      links: null
                      location: null
                      media: null
                      media_key: null
                      mentioned_ids: []
                      message_id: >-
                        true_919537851844@c.us_3EB0ABB7C973860FC19EBE05FD934141CCEC2D8B
                      message_ticket_id: null
                      message_type: chat
                      order_id: null
                      org_id: 2997dd64-89bf-48d3-9a22-b314fca017e5
                      org_phone: 918527184400@c.us
                      performed_by: null
                      poll_info: null
                      poll_results: null
                      prev_body: null
                      quoted_message_id: null
                      raw_data: null
                      sender_phone: 918527184400@c.us
                      sent_message_id: 02a54379-36cc-456b-81c4-09074adf9597
                      timestamp: '2025-01-24T05:11:08+00:00'
                      to: null
                      token: null
                      unique_id: 3EB0ABB7C973860FC19EBE05FD934141CCEC2D8B
                      updated_at: '2025-01-24T09:43:48.884+00:00'
                      vcards: null
                    member_add_mode: null
                    member_count: 2
                    messages_admins_only: null
                    org_id: 2997dd64-89bf-48d3-9a22-b314fca017e5
                    org_phone: 918527184400@c.us
                    updated_at: '2025-01-26T13:05:59.602001+00:00'
        '422':
          description: 422 Invalid body
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Connection:
              schema:
                type: string
                example: keep-alive
            Content-Length:
              schema:
                type: string
                example: '346'
            Date:
              schema:
                type: string
                example: Sun, 26 Jan 2025 13:08:33 GMT
            ETag:
              schema:
                type: string
                example: W/"15a-viWb4+796Qj+leM9nRgWivVJxpU"
            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: '1737896915'
            x-periskope-org-id:
              schema:
                type: string
                example: 2997dd64-89bf-48d3-9a22-b314fca017e5
            x-periskope-phone-id:
              schema:
                type: string
                example: phone-bqzvyibhmwkaergr
            x-periskope-trace-id:
              schema:
                type: string
                example: a5477760-dbe6-11ef-baa8-bbe121eb9dba
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: VALIDATION_ERROR
                  fields:
                    type: object
                    properties:
                      assigned_to:
                        type: object
                        properties:
                          message:
                            type: string
                            example: assigned_to is missing
                      custom_properties:
                        type: object
                        properties:
                          message:
                            type: string
                            example: custom_properties is missing
                      labels:
                        type: object
                        properties:
                          message:
                            type: string
                            example: labels is missing
                  message:
                    type: string
                    example: >-
                      Invalid body. At least one of the following keys are
                      required: labels, custom_properties, assigned_to
                  name:
                    type: string
                    example: Validation Error
                  status:
                    type: number
                    example: 422
              examples:
                422 Invalid body:
                  value:
                    code: VALIDATION_ERROR
                    fields:
                      assigned_to:
                        message: assigned_to is missing
                      custom_properties:
                        message: custom_properties is missing
                      labels:
                        message: labels is missing
                    message: >-
                      Invalid body. At least one of the following keys are
                      required: labels, custom_properties, assigned_to
                    name: Validation Error
                    status: 422
      x-codeSamples:
        - lang: TypeScript
          label: Node.js
          source: |-
            import { PeriskopeApi } from '@periskope/periskope-client';

            const client = new PeriskopeApi({
              authToken: 'YOUR_API_KEY',
              phone: 'YOUR_PHONE_NUMBER', // e.g., '919876543210'
            });

            async function updateChat() {
              const response = await client.chat.updateChatById({
                chat_id: '919876543210',
                assigned_to: 'bharat@hashlabs.dev'
              });

              console.log(response);
            }

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

````