> ## Documentation Index
> Fetch the complete documentation index at: https://docs.novu.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Subscriber schema

> Reference the Novu subscriber schema used in API requests and responses. Review fields, data types, and object structure for this resource.

### Subscriber

Subscriber is the end user that receives notifications. Subscriber has subscriber attributes like firstName, lastName, email, phone, etc, `data` field to store any custom attributes in key value pairs and channel credentials for push and chat channel provider's integrations. Read more about subscribers on [subscribers concept page](/platform/concepts/subscribers).

| Field | Type | Description |
| - | - | - |
| `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` | The first name of the subscriber. |
| `lastName` | `string` | The last name of the subscriber. |
| `email` | `string` | The email address of the subscriber. |
| `phone` | `string` | The phone number of the subscriber. |
| `avatar` | `string` | The URL of the subscriber's avatar image. |
| `locale` | `string` | The locale setting of the subscriber, indicating their preferred language or region. |
| `channels` | `ChannelSettingsDto[]` | An array of channel settings associated with the subscriber. |
| `topics` | `string[]` | An array of topics that the subscriber is subscribed to. |
| `isOnline` | `boolean` | Indicates whether the subscriber is currently online. |
| `lastOnlineAt` | `string` | The timestamp indicating when the subscriber was last online, in ISO 8601 format. |
| `v` | `number` | The version of the subscriber document. |
| `data` | `Record<string, unknown>` | Additional custom data for the subscriber |
| `timezone` | `string` | Timezone of the subscriber |
| `subscriberId` | `string` | The identifier used to create this subscriber, which typically corresponds to the user ID in your system. |
| `organizationId` | `string` | The unique identifier of the organization to which the subscriber belongs. |
| `environmentId` | `string` | The unique identifier of the environment associated with this subscriber. |
| `deleted` | `boolean` | Indicates whether the subscriber has been deleted. |
| `createdAt` | `string` | The timestamp indicating when the subscriber was created, in ISO 8601 format. |
| `updatedAt` | `string` | The timestamp indicating when the subscriber was last updated, in ISO 8601 format. |

### ChannelSettingsDto

ChannelSettings are credentials for push and chat channel provider's integrations. One subscriber can have credentials for multiple integrations of same provider of one channel type

| Field | Type | Description |
| - | - | - |
| `providerId` | `ChatOrPushProviderEnum` | The provider identifier for the credentials |
| `integrationIdentifier` | `string` | The integration identifier |
| `credentials` | `ChannelCredentials` | Credentials payload for the specified provider |
| `integrationId` | `string` | The unique identifier of the integration associated with this channel. |

### Credentials

Credentials like deviceTokens, webhookUrl, etc for a specific integration. `providerId` could be chat channel providerId or push channel providerId.

| Field | Type | Description |
| - | - | - |
| `apiKey` | `string` | |
| `user` | `string` | |
| `secretKey` | `string` | |
| `domain` | `string` | |
| `password` | `string` | |
| `host` | `string` | |
| `port` | `string` | |
| `secure` | `boolean` | |
| `region` | `string` | |
| `accountSid` | `string` | |
| `messageProfileId` | `string` | |
| `token` | `string` | |
| `from` | `string` | |
| `senderName` | `string` | |
| `projectName` | `string` | |
| `applicationId` | `string` | |
| `clientId` | `string` | |
| `requireTls` | `boolean` | |
| `ignoreTls` | `boolean` | |
| `tlsOptions` | `TlsOptions` | |
| `baseUrl` | `string` | |
| `webhookUrl` | `string` | |
| `redirectUrl` | `string` | |
| `hmac` | `boolean` | |
| `serviceAccount` | `string` | |
| `ipPoolName` | `string` | |
| `apiKeyRequestHeader` | `string` | |
| `secretKeyRequestHeader` | `string` | |
| `idPath` | `string` | |
| `datePath` | `string` | |
| `apiToken` | `string` | |
| `authenticateByToken` | `boolean` | |
| `authenticationTokenKey` | `string` | |
| `instanceId` | `string` | |
| `alertUid` | `string` | |
| `title` | `string` | |
| `imageUrl` | `string` | |
| `state` | `string` | |
| `externalLink` | `string` | |
| `channelId` | `string` | |
| `phoneNumberIdentification` | `string` | |
| `accessKey` | `string` | |
| `appSid` | `string` | |
| `senderId` | `string` | |
| `tenantId` | `string` | |
| `appIOBaseUrl` | `string` | |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.