Notifications.ReadWrite.CreatedByApp
Allows the app to deliver its notifications on behalf of signed-in users. Also allows the app to read, update, and delete the user's notification items for this app.
Permission Details
Deliver and manage user notifications for this app
Allows the app to deliver its notifications on behalf of signed-in users. Also allows the app to read, update, and delete the user's notification items for this app.
89497502-6e42-46a2-8cb2-427fd3df970a
Properties
Properties is shown from beta metadata because a stable v1.0 schema is not available for this resource mapping.
| Property | Type | Description |
|---|---|---|
displayTimeToLive |
int32Nullable |
Sets how long (in seconds) this notification content stays in each platform's notification viewer. For example, when the notification is delivered to a Windows device, the value of this property is passed on to ToastNotification.ExpirationTime, which determines how long the toast notification stays in the user's Windows Action Center. |
expirationDateTime |
date-timeNullable |
Sets a UTC expiration date and time on a user notification using ISO 8601 format (for example, midnight UTC on Jan 1, 2019 would look like this: '2019-01-01T00:00:00Z'). When time is up, the notification is removed from the Microsoft Graph notification feed store completely and is no longer part of notification history. Max value is 30 days. |
groupName |
stringNullable |
The name of the group that this notification belongs to. It is set by the developer for grouping notifications together. |
id |
string |
The unique identifier for an entity. Read-only. |
payload |
payloadTypes |
|
priority |
object |
Indicates the priority of a raw user notification. Visual notifications are sent with high priority by default. Valid values are None, High and Low. |
targetHostName |
string |
Represents the host name of the app to which the calling service wants to post the notification, for the given user. If targeting web endpoints (see targetPolicy.platformTypes), ensure that targetHostName is the same as the name used when creating a subscription on the client side within the application JSON property. |
targetPolicy |
object |
Target policy object handles notification delivery policy for endpoint types that should be targeted (Windows, iOS, Android and WebPush) for the given user. |
JSON Representation
JSON representation is shown from beta metadata because a stable v1.0 schema is not available for this resource mapping.
{
"displayTimeToLive": 0,
"expirationDateTime": "2026-01-01T00:00:00Z",
"groupName": "String",
"id": "String",
"payload": {
"@type": "payloadTypes",
"id": "00000000-0000-0000-0000-000000000000"
},
"priority": {
"sample": "value"
},
"targetHostName": "String",
"targetPolicy": {
"sample": "value"
}
}
Relationships
Relationships is shown from beta metadata because a stable v1.0 schema is not available for this resource mapping.
| Relationship | Type | Description |
|---|---|---|
payload |
payloadTypes |
Related payload data exposed by this resource. |
Graph Methods
Microsoft Graph v1.0 endpoints are mapped directly from refreshed Microsoft Learn permissions tables.
No API methods available for this version.
Microsoft Graph beta endpoints are mapped directly from refreshed Microsoft Learn permissions tables.
| Methods |
|---|
POST
/me/notifications/
|
Microsoft Graph PowerShell v1.0 commands are not available from refreshed Microsoft Learn PowerShell snippets for this permission.
No deterministic PowerShell command map is available for this permission.
Browse PowerShell docsMicrosoft Graph PowerShell beta commands are not available from refreshed Microsoft Learn PowerShell snippets for this permission.
No deterministic PowerShell command map is available for this permission.
Browse PowerShell docsCode Examples
using Azure.Identity;
using Microsoft.Graph;
var scopes = new[] { "Notifications.ReadWrite.CreatedByApp" };
var credential = new InteractiveBrowserCredential(
new InteractiveBrowserCredentialOptions
{
ClientId = "YOUR_CLIENT_ID",
TenantId = "YOUR_TENANT_ID",
RedirectUri = new Uri("http://localhost")
});
var graphClient = new GraphServiceClient(credential, scopes);
var response = await graphClient
.WithUrl("https://graph.microsoft.com/v1.0/me/notifications/")
.GetAsync();
import { Client } from "@microsoft/microsoft-graph-client";
import { InteractiveBrowserCredential } from "@azure/identity";
const credential = new InteractiveBrowserCredential({
clientId: "YOUR_CLIENT_ID",
tenantId: "YOUR_TENANT_ID",
redirectUri: "http://localhost"
});
const token = await credential.getToken(["Notifications.ReadWrite.CreatedByApp"]);
const client = Client.init({
authProvider: (done) => done(null, token.token)
});
const response = await client.api("/me/notifications/").get();
Connect-MgGraph -Scopes "Notifications.ReadWrite.CreatedByApp"
Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/v1.0/me/notifications/"
from azure.identity import InteractiveBrowserCredential
import requests
credential = InteractiveBrowserCredential(
client_id="YOUR_CLIENT_ID",
tenant_id="YOUR_TENANT_ID"
)
token = credential.get_token("Notifications.ReadWrite.CreatedByApp")
response = requests.get(
"https://graph.microsoft.com/v1.0/me/notifications/",
headers={"Authorization": f"Bearer {token.token}"}
)
print(response.json())
App Registration
Navigate to Azure Portal
Go to App registrations in Microsoft Entra admin center
Add API Permission
Select your app → API permissions → Add a permission → Microsoft Graph
Select Permission Type
Choose Delegated permissions and search for Notifications.ReadWrite.CreatedByApp
Grant Admin Consent
Users can consent to this permission during sign-in.