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

# The Chat Notification Object

> The Chat Notification object represents a chat update notification in WhatsApp.

<ResponseExample>
  ```json The Chat Notification Object theme={null}
    {
        "org_id": "2997dd64-89bf-48d3-9a22-b314fca017e5",
        "notification_id": "true_120363371308389685@g.us_fa3c48a78cc64e139e5737f7057235ea_918527184400@c.us_remove",
        "chat_id": "120363371308389685@g.us",
        "author": "918527184400@c.us",
        "body": null,
        "id": {
            "id": "fa3c48a78cc64e139e5737f7057235ea",
            "fromMe": true,
            "remote": "120363371308389685@g.us",
            "serialized": "true_120363371308389685@g.us_fa3c48a78cc64e139e5737f7057235ea_918527184400@c.us_remove"
        },
        "recipientids": [
            "919537851844@c.us"
        ],
        "type": "remove",
        "timestamp": "2025-01-11T11:52:27.231+00:00",
        "org_phone": "918527184400@c.us",
        "unique_id": "fa3c48a78cc64e139e5737f7057235ea",
        "metadata": null
    }
  ```
</ResponseExample>

**Attributes**

<ParamField path="org_id" type="string">
  The unique identifier of the organization that owns the WhatsApp account.
</ParamField>

<ParamField path="chat_id" type="string">
  The unique identifier of the WhatsApp chat or group where the notification
  occurred.
</ParamField>

<ParamField path="notification_id" type="string">
  A unique identifier for the notification, typically containing information
  about the chat, action, and participant.
</ParamField>

<ParamField path="author" type="string">
  The WhatsApp ID of the user who triggered the notification (format: `   {phone_number}@c.us`).
</ParamField>

<ParamField path="body" type="string | null">
  The content of the notification message. Can be null for certain notification
  types.
</ParamField>

<ParamField path="id" type="object">
  Detailed identification information for the notification.

  <Expandable>
    <ParamField path="id" type="string">
      A unique identifier for this specific notification event.
    </ParamField>

    <ParamField path="fromMe" type="boolean">
      Indicates if the notification was triggered by the organization's WhatsApp
      account.
    </ParamField>

    <ParamField path="remote" type="string">
      The chat or group ID where the notification occurred.
    </ParamField>

    <ParamField path="_serialized" type="string">
      A complete serialized string containing all notification identifiers.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="recipientids" type="array">
  An array of WhatsApp IDs for the notification recipients (format: `["{phone_number}@c.us"]`).
</ParamField>

<ParamField path="type" type="string">
  The type of notification event. Possible values are `add`, `remove`, `promote`, `demote`, `leave`,
  `announce_true`, `announce_false`, `restrict_true`, `restrict_false`, `memberaddmode_true`,
  `memberaddmode_false`, `subject`, `desc`, `call`

  * `add`: A member was added to the group. If author is present, it indicates who added them; otherwise, they joined via an invite link.
  * `remove`: A member was removed from the group.
  * `promote`: A member was promoted to an admin role.
  * `demote`: Admin privileges were removed from a member.
  * `leave`: A user left the group.
  * `announce_true`: The group settings were changed to allow only admins to send messages.
  * `announce_false`: The group settings were changed to allow all members to send messages.
  * `restrict_true`: The group settings were changed to allow only admins to update group info (subject, description, icon).
  * `restrict_false`: The group settings were changed to allow all members to update group info.
  * `memberaddmode_true`: The group settings were changed to allow all members to add new members.
  * `memberaddmode_false`: The group settings were changed to allow only admins to add new members.
  * `subject`: The group subject was changed.
  * `desc`: The group description was changed.
  * `call`: Represents a call notification. See the `metadata` field for more details about the call
</ParamField>

<ParamField path="timestamp" type="string">
  The ISO 8601 formatted timestamp when the notification was created.
</ParamField>

<ParamField path="org_phone" type="string">
  The organization phone that the notification was sent or received from  (in the format `{phone_number}@c.us`)
</ParamField>

<ParamField path="unique_id" type="string">
  A unique identifier for the notification event, matching the `id.id` field.
</ParamField>

<ParamField path="metadata" type="object">
  Additional metadata about the notification. For call notifications, this
  object contains information about the call.

  <Expandable>
    <ParamField path="isVideo" type="boolean">
      Indicates if the call is a video call.
    </ParamField>

    <ParamField path="isOutgoing" type="boolean">
      Indicates if the call is outgoing or incoming.
    </ParamField>

    <ParamField path="call_result" type="string">
      The result of the call. Can be `CONNECTED`, `REJECTED`, `MISSED`.
    </ParamField>

    <ParamField path="duration" type="number">
      The duration of the call in seconds. Only present for outgoing calls.
    </ParamField>

    <ParamField path="start_time" type="string">
      The start time of the call in ISO 8601 format. Only present for outgoing
      calls.
    </ParamField>

    <ParamField path="accept_time" type="string">
      The time the call was accepted in ISO 8601 format. Only present for
      incoming calls.
    </ParamField>

    <ParamField path="end_time" type="string">
      The end time of the call in ISO 8601 format. Only present for outgoing
      calls.
    </ParamField>

    <ParamField path="participant_status" type="array[object]">
      For group calls, this array contains info about the status of each
      participant in the call.

      <Expandable>
        <ParamField path="contact_id" type="string">
          The contact ID of the participant.
        </ParamField>

        <ParamField path="status" type="string">
          The status of the participant in the call. Can be `CONNECTED`,
          `REJECTED`, or `MISSED`.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>
