---
layout: article
title: Payload
description: Understand the structure of Appwrite Realtime subscription payloads and learn how to work with the response data.
---

When you receive an update from a Realtime subscription, the payload contains information about the event and the affected resource. Understanding this structure helps you handle updates effectively in your application.

# Response structure

The payload from the subscription will contain the following properties:

| Name | Type | Description |
| --- | --- | --- |
| events | string[] | The [Appwrite events](/docs/apis/events) that triggered this update. |
| channels | string[] | An array of [channels](/docs/apis/realtime/channels) that can receive this message. |
| timestamp | string | The [ISO 8601 timestamp](https://en.wikipedia.org/wiki/ISO_8601) in UTC timezone from the server |
| payload | object | Payload contains the data equal to the response model. |

# Example

If you subscribe to the `rows` channel and a row the user is allowed to read is updated, you will receive an object containing information about the event and the updated row.

The response will look like this:

```json
{
  "events": [
    "tablesdb.default.tables.sample.rows.63c98b9baea0938e1206.update",
    "tablesdb.*.tables.*.rows.*.update",
    "tablesdb.default.tables.*.rows.63c98b9baea0938e1206.update",
    "tablesdb.*.tables.*.rows.63c98b9baea0938e1206.update",
    "tablesdb.*.tables.sample.rows.63c98b9baea0938e1206.update",
    "tablesdb.default.tables.sample.rows.*.update",
    "tablesdb.*.tables.sample.rows.*.update",
    "tablesdb.default.tables.*.rows.*.update",
    "tablesdb.default.tables.sample.rows.63c98b9baea0938e1206",
    "tablesdb.*.tables.*.rows.*",
    "tablesdb.default.tables.*.rows.63c98b9baea0938e1206",
    "tablesdb.*.tables.*.rows.63c98b9baea0938e1206",
    "tablesdb.*.tables.sample.rows.63c98b9baea0938e1206",
    "tablesdb.default.tables.sample.rows.*",
    "tablesdb.*.tables.sample.rows.*",
    "tablesdb.default.tables.*.rows.*",
    "tablesdb.default.tables.sample",
    "tablesdb.*.tables.*",
    "tablesdb.default.tables.*",
    "tablesdb.*.tables.sample",
    "tablesdb.default",
    "tablesdb.*"
  ],
  "channels": [
    "rows",
    "tablesdb.default.tables.sample.rows",
    "tablesdb.default.tables.sample.rows.63c98b9baea0938e1206"
  ],
  "timestamp": "2023-01-19T18:30:04.051+00:00",
  "payload": {
    "ip": "127.0.0.1",
    "stringArray": [
      "sss"
    ],
    "email": "joe@example.com",
    "stringRequired": "req",
    "float": 3.3,
    "boolean": false,
    "integer": 3,
    "enum": "apple",
    "stringDefault": "default",
    "datetime": "2023-01-19T10:27:09.428+00:00",
    "url": "https://appwrite.io",
    "$id": "63c98b9baea0938e1206",
    "$createdAt": "2023-01-19T18:27:39.715+00:00",
    "$updatedAt": "2023-01-19T18:30:04.040+00:00",
    "$permissions": [],
    "$tableId": "sample",
    "$databaseId": "default"
  }
}
```
