ESC
Type to search...

ServiceMessageViewpoint.Write

Export JSON
Export CSV
Copy URL
Print
Delegated Write User Scope

Allows the app to update service announcement messages' user status on behalf of the signed-in user. The message status can be marked as read, archive, or favorite.

Permission data: April 6, 2026 at 4:06 AM UTC
Delegated Access App-Only Access

Permission Details

Delegated Permission Admin consent required

Update user status on service announcement messages

Allows the app to update service announcement messages' user status on behalf of the signed-in user. The message status can be marked as read, archive, or favorite.

Properties

Microsoft Graph v1.0 endpoint-derived-docs

Properties is shown from stable Microsoft Graph v1.0 metadata.

Property Type Description
edge object A container for Microsoft Edge resources. Read-only.
exchange object A container for the Exchange admin functionality. Read-only.
microsoft365Apps object A container for the Microsoft 365 apps admin functionality.
people object Represents a setting to control people-related admin settings in the tenant.
reportSettings object A container for administrative resources to manage reports.
serviceAnnouncement object A container for service communications resources. Read-only.
sharepoint object
teams object A container for Teams administration functionalities, such as Teams telephone number management functionalities, user Teams configurations, and policy assignments.

JSON Representation

Microsoft Graph v1.0 endpoint-derived-docs

JSON representation is shown from stable Microsoft Graph v1.0 metadata.

JSON representation
{
  "@odata.type": "#microsoft.graph.admin"
}

Relationships

Microsoft Graph v1.0 endpoint-derived-docs

Relationships is shown from stable Microsoft Graph v1.0 metadata.

Relationship Type Description
configurationManagement configurationManagement A container for Tenant Configuration Management (TCM) resources. Read-only.
edge edge A container for Microsoft Edge resources. Read-only.
exchange exchangeAdmin A container for the Exchange admin functionality. Read-only.
microsoft365Apps adminMicrosoft365Apps A container for the Microsoft 365 apps admin functionality.
people peopleAdminSettings Represents a setting to control people-related admin settings in the tenant.
reportSettings adminReportSettings A container for administrative resources to manage reports.
serviceAnnouncement serviceAnnouncement A container for service communications resources. Read-only.
sharepointSettings sharepointSettings A container for administrative resources to manage tenant-level settings for SharePoint and OneDrive.
teams teamsAdministration.teamsAdminRoot A container for Teams administration functionalities, such as Teams telephone number management functionalities, user Teams configurations, and policy assignments.

Graph Methods

Delegated access App-only access
Exact Microsoft Learn match

Microsoft Graph v1.0 endpoints are mapped directly from refreshed Microsoft Learn permissions tables.

Methods
POST /admin/serviceAnnouncement/messages/archive
POST /admin/serviceAnnouncement/messages/favorite
POST /admin/serviceAnnouncement/messages/markRead
POST /admin/serviceAnnouncement/messages/markUnread
POST /admin/serviceAnnouncement/messages/unarchive
POST /admin/serviceAnnouncement/messages/unfavorite
Exact Microsoft Learn match

Microsoft Graph beta endpoints are mapped directly from refreshed Microsoft Learn permissions tables.

Methods
POST /admin/serviceAnnouncement/messages/archive
POST /admin/serviceAnnouncement/messages/favorite
POST /admin/serviceAnnouncement/messages/markRead
POST /admin/serviceAnnouncement/messages/markUnread
POST /admin/serviceAnnouncement/messages/unarchive
POST /admin/serviceAnnouncement/messages/unfavorite
Exact Microsoft Learn PowerShell match

Microsoft Graph PowerShell v1.0 commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.

Commands
Invoke-MgArchiveServiceAnnouncementMessage /admin/serviceAnnouncement/messages/archive
serviceUpdateMessage: archive
Invoke-MgFavoriteServiceAnnouncementMessage /admin/serviceAnnouncement/messages/favorite
serviceUpdateMessage: favorite
Invoke-MgMarkServiceAnnouncementMessageRead /admin/serviceAnnouncement/messages/markRead
serviceUpdateMessage: markRead
Invoke-MgMarkServiceAnnouncementMessageUnread /admin/serviceAnnouncement/messages/markUnread
serviceUpdateMessage: markUnread
Invoke-MgUnarchiveServiceAnnouncementMessage /admin/serviceAnnouncement/messages/unarchive
serviceUpdateMessage: unarchive
Invoke-MgUnfavoriteServiceAnnouncementMessage /admin/serviceAnnouncement/messages/unfavorite
serviceUpdateMessage: unfavorite
Exact Microsoft Learn PowerShell match

Microsoft Graph PowerShell beta commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.

Commands
Invoke-MgBetaArchiveServiceAnnouncementMessage /admin/serviceAnnouncement/messages/archive
serviceUpdateMessage: archive
Invoke-MgBetaFavoriteServiceAnnouncementMessage /admin/serviceAnnouncement/messages/favorite
serviceUpdateMessage: favorite
Invoke-MgBetaMarkServiceAnnouncementMessageRead /admin/serviceAnnouncement/messages/markRead
serviceUpdateMessage: markRead
Invoke-MgBetaMarkServiceAnnouncementMessageUnread /admin/serviceAnnouncement/messages/markUnread
serviceUpdateMessage: markUnread
Invoke-MgBetaUnarchiveServiceAnnouncementMessage /admin/serviceAnnouncement/messages/unarchive
serviceUpdateMessage: unarchive
Invoke-MgBetaUnfavoriteServiceAnnouncementMessage /admin/serviceAnnouncement/messages/unfavorite
serviceUpdateMessage: unfavorite

Code Examples

C# / .NET SDK
serviceUpdateMessage: archive
// Code snippets are only available for the latest version. Current version is 5.x

// Dependencies
using Microsoft.Graph.Admin.ServiceAnnouncement.Messages.Archive;

var requestBody = new ArchivePostRequestBody
{
	MessageIds = new List<string>
	{
		"MC172851",
		"MC167983",
	},
};

// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Admin.ServiceAnnouncement.Messages.Archive.PostAsArchivePostResponseAsync(requestBody);
JavaScript
serviceUpdateMessage: archive
const options = {
	authProvider,
};

const client = Client.init(options);

const _boolean = {
  messageIds: ['MC172851', 'MC167983']
};

await client.api('/admin/serviceAnnouncement/messages/archive')
	.post(_boolean);
PowerShell
serviceUpdateMessage: archive
Import-Module Microsoft.Graph.Devices.ServiceAnnouncement

$params = @{
	messageIds = @(
	"MC172851"
"MC167983"
)
}

Invoke-MgArchiveServiceAnnouncementMessage -BodyParameter $params
Python
serviceUpdateMessage: archive
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.admin.serviceannouncement.messages.archive.archive_post_request_body import ArchivePostRequestBody
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ArchivePostRequestBody(
	message_ids = [
		"MC172851",
		"MC167983",
	],
)

result = await graph_client.admin.service_announcement.messages.archive.post(request_body)

App Registration

1

Navigate to Azure Portal

Go to App registrations in Microsoft Entra admin center

2

Add API Permission

Select your app → API permissions → Add a permission → Microsoft Graph

3

Select Permission Type

Choose Delegated permissions and search for ServiceMessageViewpoint.Write

4

Grant Admin Consent

This delegated permission requires admin consent.