---
title: "Update a subscriber"
method: PATCH
path: "/v2/subscribers/{subscriberId}"
tags: ["Subscribers"]
---

# Update a subscriber

`PATCH /v2/subscribers/{subscriberId}`

Update a subscriber by its unique key identifier **subscriberId**. 
    **subscriberId** is a required field, rest other fields are optional

## Path parameters

- `subscriberId` string, required

## Headers

- `idempotency-key` string

## Request body

- PatchSubscriberRequestDto
  - `firstName` string, nullable — First name of the subscriber
  - `lastName` string, nullable — Last name of the subscriber
  - `email` string, nullable — Email address of the subscriber
  - `phone` string, nullable — Phone number of the subscriber
  - `avatar` string, nullable — Avatar URL or identifier
  - `locale` string, nullable — Locale of the subscriber
  - `timezone` string, nullable — Timezone of the subscriber
  - `data` object, nullable — Additional custom data associated with the subscriber

## Response `200`

OK

- SubscriberResponseDto
  - `_id` string — The internal ID generated by Novu for your subscriber. This ID does not match the `subscriberId` used in your queries. Refer to `subscriberId` for that identifier.
  - `firstName` string, nullable — The first name of the subscriber.
  - `lastName` string, nullable — The last name of the subscriber.
  - `email` string, nullable — The email address of the subscriber.
  - `phone` string, nullable — The phone number of the subscriber.
  - `avatar` string, nullable — The URL of the subscriber's avatar image.
  - `locale` string, nullable — The locale setting of the subscriber, indicating their preferred language or region.
  - `channels` ChannelSettingsDto[] — An array of channel settings associated with the subscriber.
    - `providerId` 'slack' | 'discord' | 'msteams' | 'webex-messaging' | 'mattermost' | 'ryver' | 'zulip' | 'grafana-on-call' | 'getstream' | 'rocket-chat' | 'whatsapp-business' | 'line' | 'chat-webhook' | 'novu-slack' | 'telegram' | 'sendblue' | 'novu-web-chat' | 'fcm' | 'apns' | 'expo' | 'one-signal' | 'pushpad' | 'push-webhook' | 'pusher-beams' | 'appio', required — The provider identifier for the credentials
    - `integrationIdentifier` string — The integration identifier
    - `credentials` ChannelCredentials, required
      - `webhookUrl` string — Webhook URL used by chat app integrations. The webhook should be obtained from the chat app provider.
      - `channel` string — Channel specification for Mattermost chat notifications.
      - `deviceTokens` string[] — Contains an array of the subscriber device tokens for a given provider. Used on Push integrations.
      - `alertUid` string — Alert UID for Grafana on-call webhook payload.
      - `title` string — Title to be used with Grafana on-call webhook.
      - `imageUrl` string — Image URL property for Grafana on-call webhook.
      - `state` string — State property for Grafana on-call webhook.
      - `externalUrl` string — Link to upstream details property for Grafana on-call webhook.
    - `_integrationId` string, required — The unique identifier of the integration associated with this channel.
  - `topics` string[] — An array of topics that the subscriber is subscribed to.
  - `isOnline` boolean, nullable — Indicates whether the subscriber is currently online.
  - `lastOnlineAt` string, nullable — The timestamp indicating when the subscriber was last online, in ISO 8601 format.
  - `__v` number — The version of the subscriber document.
  - `data` object, nullable — Additional custom data for the subscriber
  - `timezone` string, nullable — Timezone of the subscriber
  - `subscriberId` string, required — The identifier used to create this subscriber, which typically corresponds to the user ID in your system.
  - `_organizationId` string, required — The unique identifier of the organization to which the subscriber belongs.
  - `_environmentId` string, required — The unique identifier of the environment associated with this subscriber.
  - `deleted` boolean, required — Indicates whether the subscriber has been deleted.
  - `createdAt` string, required — The timestamp indicating when the subscriber was created, in ISO 8601 format.
  - `updatedAt` string, required — The timestamp indicating when the subscriber was last updated, in ISO 8601 format.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `405` — Method Not Allowed
- `409` — Conflict
- `413` — Payload Too Large
- `414` — URI Too Long
- `415` — Unsupported Media Type
- `422` — Unprocessable Entity
- `429` — The client has sent too many requests in a given amount of time.
- `500` — Internal Server Error
- `503` — The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.

---

[API](https://skmtc.net/novu/apis/novu-api.md) · [All operations](https://skmtc.net/novu/apis/novu-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/novu/novu-api/versions/e4a270f838f0/schema)
