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

# Update user notification channel

This is the standard use case delivered by the [Update Notification Channel](c_updateNotificationChannel) Process.

An authenticated user selects to change their primary notification channel. The client does not specify the target authN ID (i.e., the desired new notification channel), so the Process will instead calculate which authN IDs are applicable, and then return an indexed list of options for the user.

<img src="https://mintcdn.com/amdocs-spbu/0TZ9XF1Mst_2ATcV/marketONE/sgProcessGuide/images/sfgw_umlUpdateNotificationChannel.png?fit=max&auto=format&n=0TZ9XF1Mst_2ATcV&q=85&s=d46e206303c9c3cb339e5ad0f89d35fd" alt="" width="686" height="734" data-path="marketONE/sgProcessGuide/images/sfgw_umlUpdateNotificationChannel.png" />

This Process is designed to return the minimum required information (i.e., the current user's applicable authN ID options) to the client, if a target authN ID is not specified upfront. You can also see the "[single step](c_useCaseSingleStepNotification)" use case wherein the client first collects a target authN ID and supplies to the Process it in the initial request.

## Initial Request

Your client calls the [Process Start](c_processStart) API to initialize the Process:

```
**POST https://\{your.url\}/process/start/userManagement.UpdateNotificationChannel.v1.0**
<no body>
```

## Response: prompt to specify authN ID

Storefront Gateway looks up all of the current user's email addresses and mobile numbers that are registered as an authN ID with an `activated` status. The Process then returns an indexed set of applicable authN IDs (taken from the current User entity's `emails` and `mobiles` objects). The response includes a prompt to specify the target ID by their corresponding index number:

```
**RESPONSE - body**
{
   "processId": "92929121-979d-4fec-bee6-28dcfdf0a8ca",
   "processName": "userManagement.UpdateNotificationChannel.v1.0",
   "stepName": "NotificationChanelPrompt",
   "displayMessage": "Please input required information",
   "output": {
      "options": {
         "0": {
            "jane_smith@email.com": "EMAIL"
         },
         "1": {
            "jane_s@work.com": "EMAIL"
         },
         "2": {
            "1234567890": "MOBILE"
         },
         "3": {
            "4164440000": "MOBILE"
         }
      }
   },
   "parameters": {
      "optionId": "String"
   }
}
```

| `processId` | Unique identifier for the current instance of this Process. | |
| - | - | - |
| `processName` | Full name of the Process, including the category and version number. | |
| `stepName` | Name of the specific step that the Process is currently on. | |
| `lastStep` | Boolean that indicates whether or not this was the last step in the Process. | |
| `displayMessage` | Optional message that the UI can display to the user. | |
| `output` | Object that contains data that the client can consume, retain, and use for additional operations (i.e., subsequent Process step requests). | |
| | `options` | Object that contains one or more indexed authentication identifiers that the user can specify. Each name-value pairing consists of the contact channel and it's type (email or mobile). |
| `parameters` | Object that specifies the info this Process requires to continue its task. | |
| `optionId` | The index of the target authN ID (obtained from the `options` object). | |

## Final Request

The user selects their desired authN ID, and your client passes that choice to Storefront Gateway in a [Process Step](c_processStep) API request:

```
**PUT https://\{your.url\}/process/step**
{
    "processId": "92929121-979d-4fec-bee6-28dcfdf0a8ca",
    "parameters": {
        "optionId": "0"
    }
}
```

| `processId` | Unique identifier for the current instance of this Process. |
| - | - |
| `parameters` | Object that contains the data that was requested in the previous Process response. |
| `optionId` | The user's current password, supplied by the user. |

## Process Complete

Storefront Gateway sets authN ID (that was specified by the index number) as the user's primary notification channel. All system-generated notification messages for that user will now be sent to that channel. The Process ends and returns an `HTTP 200` status:

```
**RESPONSE - body**
{
    "processId": "92929121-979d-4fec-bee6-28dcfdf0a8ca",
    "processName": "userManagement.UpdateNotificationChannel.v1.0",
    "lastStep": true
}
```

| `processId` | Unique identifier for the current instance of this Process. |
| - | - |
| `processName` | Full name of the Process, including the category and version number. |
| `lastStep` | Boolean that indicates whether or not this was the last step in the Process. |
| **Note:** If your organization's integration with Storefront Gateway involves the use of your own notification dispatch service, then Storefront Gateway will first send the message details to your service. In that scenario, the message will specify the end user's primary notification channel as the destination for that message, and your service can then construct and forward the message accordingly. | |

**Parent topic:**[Update Notification Channel Process](c_updateNotificationChannel)


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