# Update a Pub/Sub channel

> **PUT** `https://api.us.nylas.com/v3/channels/pubsub/{id}`

Source: https://developer.nylas.com/docs/reference/api/pubsub-notifications/put-pubsub-by-id/

Updates the specified Pub/Sub channel.

When you make a `PUT` request, Nylas replaces all data in the nested object with the information
included in your request. For more information, see
[Updating objects](/docs/reference/api/#updating-objects).

**Authentication:** NYLAS_API_KEY

## Parameters

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `id` | string | Yes | The ID of the Pub/Sub channel to retrieve. |

## Request body

The Pub/Sub channel properties to update.

Content-Type: application/json

- `description` (string) - A human-readable description of the Pub/Sub channel.
- `trigger_types` (array) - The event that triggers the notification. See the
[notification schemas](/docs/reference/notifications/) for details about each trigger
type.

See the [Grants](/docs/reference/api/manage-grants/), [Calendar](/docs/reference/api/calendar/),
[Events](/docs/reference/api/events/), and [Messages](/docs/reference/api/messages/) references
for information on how to trigger each event type.
- `topic` (string) - The Google Pub/Sub topic that Nylas sends notifications to.
- `status` (string) - The new status of the channel. Use this to restart a channel that you manually paused, or that was automatically paused due to deliverability issues.
- `notification_email_addresses` (array) - The email addresses that Nylas notifies if there are errors or deliverability problems. See the [rate limit documentation](/docs/dev-guide/best-practices/rate-limits/) for details.
- `compressed_delivery` (boolean) - If `true`, Nylas compresses notification payloads using gzip before delivering them. Nylas adds a `content_encoding: gzip` message attribute to the Pub/Sub message.

## Responses

### 200 - Pub/Sub channel updated

- `data` (object)
  - `id` (string) - A unique identifier for the Pub/Sub channel.
  - `description` (string) - A human-readable description of the Pub/Sub channel.
  - `trigger_types` (array) - The event that triggers the notification. See the
[notification schemas](/docs/reference/notifications/) for details about each trigger
type.

See the [Grants](/docs/reference/api/manage-grants/), [Calendar](/docs/reference/api/calendar/),
[Events](/docs/reference/api/events/), and [Messages](/docs/reference/api/messages/) references
for information on how to trigger each event type.
  - `topic` (string) - The Google Pub/Sub topic that Nylas sends notifications to.
  - `status` (string) - The deliverability status of the Pub/Sub channel.
  - `notification_email_addresses` (array) - The email addresses that Nylas notifies if delivery to the Pub/Sub channel fails.
  - `compressed_delivery` (boolean) - If `true`, Nylas compresses notification payloads using gzip before delivering them.
  - `status_updated_at` (integer) - The time the `status` field was last updated, represented as a Unix timestamp in seconds.
  - `created_at` (integer) - The time the Pub/Sub channel was created, represented as a Unix timestamp in seconds.
  - `updated_at` (integer) - The time the Pub/Sub channel was last updated, represented as a Unix timestamp in seconds.
- `request_id` (string) - The unique ID of the request that generated this response.

### 400 - Pub/Sub channel not updated

- `error` (object)
  - `type` (string) - An alphanumeric code that represents the error type.
  - `message` (string) - A human readable message with details about the error.
- `request_id` (string) - The unique ID of the request that generated this response.

## Code samples

### cURL

```bash
curl --request PUT \
  --url 'https://api.us.nylas.com/v3/channels/pubsub/<PUBSUB_ID>' \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer <NYLAS_API_KEY>' \
  --data-raw '{
    "description": "PubSub Update Test",
    "trigger_types": ["message.updated"],
    "encryption_key": "",
    "topic": "projects/<YOUR_PROJECT_NAME>/topics/<YOUR_TOPIC_NAME>",
    "notification_email_addresses": ["leyah@example.com"]
  }'
```
