---
title: "Add Notification Enrollment – Creates a notification enrollment for an account."
method: POST
path: "/programs/{programCode}/accounts/{accountIdentifier}/notification/enrollment"
tags: ["Notification"]
---

# Add Notification Enrollment – Creates a notification enrollment for an account.

`POST /programs/{programCode}/accounts/{accountIdentifier}/notification/enrollment`

Creates a notification enrollment for an account, enabling notification delivery based on user preferences. Requires account identifier, program code, and enrollment details. Returns enrollment status and details.

## Path parameters

- `programCode` string, required
- `accountIdentifier` string, required

## Headers

- `X-GD-RequestId` string, required

## Request body

- CreateNotificationEnrollmentRequest — Represents a request to create a notification enrollment for an account. Used to enable notification delivery for a specific product and set user preferences for notification types, contacts, and rules.
  - `productCode` string, nullable — The product code for which notifications are being enrolled (e.g., "CARD", "SAVINGS"). Used to scope notification preferences to a specific product or service.
  - `enrollments` NotificationEnrollment[], nullable — The list of notification enrollment preferences for the account. Each entry specifies the notification type, delivery contacts, enrollment rules, start date, and frequency.
    - `notificationTypeKey` integer, nullable — The key representing the notification type to enroll for (e.g., transaction alert, balance update). Used to specify which type of notification the enrollment applies to.
    - `contacts` NotificationEnrollmentContact[], nullable — The list of contacts for notification delivery, such as email addresses or phone numbers. Each contact specifies the delivery channel and contact value.
      - `channelType` string, nullable — The type of delivery channel for the notification (e.g., "email", "sms", "push"). Determines how the notification will be sent to the contact.
      - `contactValue` string, nullable — The value of the contact for notification delivery (e.g., email address, phone number, device token). Used as the destination for sending notifications.
      - `isActive` boolean, nullable — Indicates whether this contact is currently active for notification delivery. If true, notifications will be sent to this contact; if false, delivery is disabled.
    - `enrollmentRules` NotificationEnrollmentRule[], nullable — The list of rules that govern when and how notifications are sent. Each rule defines attributes, conditions, and activation status for notification delivery.
      - `attributeKey` integer — The key representing the attribute to evaluate for the rule (e.g., account status, transaction type). Used to identify which account or event attribute the rule applies to.
      - `attributeValue` string, nullable — The value of the attribute to match for the rule (e.g., "active", "deposit"). Used to specify the expected value for the attribute in order for the rule to trigger.
      - `condition` string, nullable — The condition to apply for the rule (e.g., "equals", "greaterThan", "contains"). Determines how the attribute and value are compared to trigger notification delivery.
      - `isActive` boolean — Indicates whether this rule is currently active. If true, the rule will be evaluated for notification delivery; if false, the rule is ignored.
    - `startDate` string, date-time, nullable — The date when the notification enrollment becomes active. Used to schedule the start of notification delivery.
    - `frequency` string, nullable — The frequency of notification delivery (e.g., "daily", "immediate", "weekly"). Used to control how often notifications are sent to the enrolled contacts.

## Response `201`

Created

- CreateNotificationEnrollmentResponse — Represents the response returned after creating a notification enrollment for an account. Inherits standard response metadata from Gd.Bos.DataTransfer.Response.ResponseBase, including response header and response details. Used to communicate the outcome of a notification enrollment request, including success, error codes, and tracking information.
  - `responseDetails` ResponseDetail[], nullable — Required: A list of response details providing status codes, descriptions, and additional information about the result of the operation.
    - `code` integer — The primary status or error code for the response (e.g., 200 for success, 400 for validation error).
    - `subCode` integer, nullable — An optional subcode providing more granular detail about the response or error.
    - `description` string, nullable — A human-readable description of the response, error, or status.
    - `url` string, nullable — A URL linking to documentation or a web page with more information about the response code.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/greendot/apis/baas-apis.md) · [All operations](https://skmtc.net/greendot/apis/baas-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/greendot/baas-apis/revisions/666553766b78/schema)
