ESC
Type to search...

Notes.ReadWrite.All

Export JSON
Export CSV
Copy URL
Print
ApplicationDelegated Read/Write All Resources

Allows the app to read all the OneNote notebooks in your organization, without a signed-in user.

In short

Notes.ReadWrite.All is available as both an application permission and a delegated permission in the Microsoft Graph API, grouped under the Notes category. Allows the app to read all the OneNote notebooks in your organization, without a signed-in user. It grants read and write access to resources. Application permissions always require admin consent.

Permission data: October 3, 2026 at 3:19 AM UTC
Delegated Access App-Only Access

Permission Details

Application Permission

Read and write all OneNote notebooks

Allows the app to read all the OneNote notebooks in your organization, without a signed-in user.

Delegated Permission User consent allowed

Read and write all OneNote notebooks that user can access

Allows the app to read, share, and modify OneNote notebooks that the signed-in user has access to in the organization.

Properties

Microsoft Graph v1.0 mapped-docs

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

Property Type Description
id string The unique identifier for an entity. Read-only.
notebooks notebook collection The collection of OneNote notebooks that are owned by the user or group. Read-only. Nullable.
operations onenoteOperation collection The status of OneNote operations. Getting an operations collection isn't supported, but you can get the status of long-running operations if the Operation-Location header is returned in the response. Read-only. Nullable.
pages onenotePage collection The pages in all OneNote notebooks that are owned by the user or group. Read-only. Nullable.
resources onenoteResource collection The image and other file resources in OneNote pages. Getting a resources collection isn't supported, but you can get the binary content of a specific resource. Read-only. Nullable.
sectionGroups sectionGroup collection The section groups in all OneNote notebooks that are owned by the user or group. Read-only. Nullable.
sections onenoteSection collection The sections in all OneNote notebooks that are owned by the user or group. Read-only. Nullable.

JSON Representation

Microsoft Graph v1.0 mapped-docs

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

JSON representation
{
  "notebooks": [
    {
      "@odata.type": "microsoft.graph.notebook"
    }
  ],
  "operations": [
    {
      "@odata.type": "microsoft.graph.onenoteOperation"
    }
  ],
  "pages": [
    {
      "@odata.type": "microsoft.graph.onenotePage"
    }
  ],
  "resources": [
    {
      "@odata.type": "microsoft.graph.onenoteResource"
    }
  ],
  "sectionGroups": [
    {
      "@odata.type": "microsoft.graph.sectionGroup"
    }
  ],
  "sections": [
    {
      "@odata.type": "microsoft.graph.onenoteSection"
    }
  ]
}

Relationships

Microsoft Graph v1.0 mapped-docs

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

Relationship Type Description
notebooks notebook collection The collection of OneNote notebooks that are owned by the user or group. Read-only. Nullable.
operations onenoteOperation collection The status of OneNote operations. Getting an operations collection isn't supported, but you can get the status of long-running operations if the Operation-Location header is returned in the response. Read-only. Nullable.
pages onenotePage collection The pages in all OneNote notebooks that are owned by the user or group. Read-only. Nullable.
resources onenoteResource collection The image and other file resources in OneNote pages. Getting a resources collection isn't supported, but you can get the binary content of a specific resource. Read-only. Nullable.
sectionGroups sectionGroup collection The section groups in all OneNote notebooks that are owned by the user or group. Read-only. Nullable.
sections onenoteSection collection The sections in all OneNote notebooks that are owned by the user or group. Read-only. Nullable.

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
GET /groups/{id}/onenote/notebooks
GET /groups/{id}/onenote/notebooks/{id}
GET /groups/{id}/onenote/notebooks/{id}/sectionGroups
GET /groups/{id}/onenote/notebooks/{id}/sections
GET /groups/{id}/onenote/operations/{id}
GET /groups/{id}/onenote/pages
GET /groups/{id}/onenote/pages/{id}
GET /groups/{id}/onenote/resources/{id}/content
GET /groups/{id}/onenote/sectionGroups
GET /groups/{id}/onenote/sectionGroups/{id}
GET /groups/{id}/onenote/sectionGroups/{id}/sectionGroups
GET /groups/{id}/onenote/sectionGroups/{id}/sections
GET /groups/{id}/onenote/sections
GET /groups/{id}/onenote/sections/{id}
GET /groups/{id}/onenote/sections/{id}/pages
GET /me/onenote/notebooks
GET /me/onenote/notebooks/{id}
GET /me/onenote/notebooks/{id}/sectionGroups
GET /me/onenote/notebooks/{id}/sections
GET /me/onenote/notebooks/getRecentNotebooks(includePersonalNotebooks={includePersonalNotebooks})
GET /me/onenote/operations/{id}
GET /me/onenote/pages
GET /me/onenote/pages/{id}
GET /me/onenote/resources/{id}/content
GET /me/onenote/sectionGroups
GET /me/onenote/sectionGroups/{id}
GET /me/onenote/sectionGroups/{id}/sectionGroups
GET /me/onenote/sectionGroups/{id}/sections
GET /me/onenote/sections
GET /me/onenote/sections/{id}
GET /me/onenote/sections/{id}/pages
GET /sites/{id}/onenote/notebooks
GET /sites/{id}/onenote/notebooks/{id}
GET /sites/{id}/onenote/notebooks/{id}/sectionGroups
GET /sites/{id}/onenote/notebooks/{id}/sections
GET /sites/{id}/onenote/operations/{id}
GET /sites/{id}/onenote/pages
GET /sites/{id}/onenote/pages/{id}
GET /sites/{id}/onenote/resources/{id}/content
GET /sites/{id}/onenote/sectionGroups
GET /sites/{id}/onenote/sectionGroups/{id}
GET /sites/{id}/onenote/sectionGroups/{id}/sectionGroups
GET /sites/{id}/onenote/sectionGroups/{id}/sections
GET /sites/{id}/onenote/sections
GET /sites/{id}/onenote/sections/{id}
GET /sites/{id}/onenote/sections/{id}/pages
GET /users/{id | userPrincipalName}/onenote/notebooks
GET /users/{id | userPrincipalName}/onenote/notebooks/{id}
GET /users/{id | userPrincipalName}/onenote/notebooks/{id}/sectionGroups
GET /users/{id | userPrincipalName}/onenote/notebooks/{id}/sections
GET /users/{id | userPrincipalName}/onenote/notebooks/getRecentNotebooks(includePersonalNotebooks={includePersonalNotebooks})
GET /users/{id | userPrincipalName}/onenote/operations/{id}
GET /users/{id | userPrincipalName}/onenote/pages
GET /users/{id | userPrincipalName}/onenote/pages/{id}
GET /users/{id | userPrincipalName}/onenote/resources/{id}/content
GET /users/{id | userPrincipalName}/onenote/sectionGroups
GET /users/{id | userPrincipalName}/onenote/sectionGroups/{id}
GET /users/{id | userPrincipalName}/onenote/sectionGroups/{id}/sectionGroups
GET /users/{id | userPrincipalName}/onenote/sectionGroups/{id}/sections
GET /users/{id | userPrincipalName}/onenote/sections
GET /users/{id | userPrincipalName}/onenote/sections/{id}
GET /users/{id | userPrincipalName}/onenote/sections/{id}/pages
POST /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/submit
POST /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/unsubmit
POST /education/classes/{id}/assignments/{id}/submissions/{id}/reassign
POST /groups/{id}/onenote/notebooks
POST /groups/{id}/onenote/notebooks/{id}/copyNotebook
POST /groups/{id}/onenote/notebooks/{id}/sectionGroups
POST /groups/{id}/onenote/notebooks/{id}/sections
POST /groups/{id}/onenote/notebooks/GetNotebookFromWebUrl
POST /groups/{id}/onenote/pages
POST /groups/{id}/onenote/pages/{id}/copyToSection
POST /groups/{id}/onenote/sectionGroups/{id}/sectionGroups
POST /groups/{id}/onenote/sectionGroups/{id}/sections
POST /groups/{id}/onenote/sections/{id}/copyToNotebook
POST /groups/{id}/onenote/sections/{id}/copyToSectionGroup
POST /groups/{id}/onenote/sections/{id}/pages
POST /me/onenote/notebooks
POST /me/onenote/notebooks/{id}/copyNotebook
POST /me/onenote/notebooks/{id}/sectionGroups
POST /me/onenote/notebooks/{id}/sections
POST /me/onenote/notebooks/GetNotebookFromWebUrl
POST /me/onenote/pages
POST /me/onenote/pages/{id}/copyToSection
POST /me/onenote/sectionGroups/{id}/sectionGroups
POST /me/onenote/sectionGroups/{id}/sections
POST /me/onenote/sections/{id}/copyToNotebook
POST /me/onenote/sections/{id}/copyToSectionGroup
POST /me/onenote/sections/{id}/pages
POST /sites/{id}/onenote/notebooks
POST /sites/{id}/onenote/notebooks/{id}/sectionGroups
POST /sites/{id}/onenote/notebooks/{id}/sections
POST /sites/{id}/onenote/notebooks/GetNotebookFromWebUrl
POST /sites/{id}/onenote/pages
POST /sites/{id}/onenote/sectionGroups/{id}/sectionGroups
POST /sites/{id}/onenote/sectionGroups/{id}/sections
POST /sites/{id}/onenote/sections/{id}/pages
POST /users/{id | userPrincipalName}/onenote/notebooks
POST /users/{id | userPrincipalName}/onenote/notebooks/{id}/copyNotebook
POST /users/{id | userPrincipalName}/onenote/notebooks/{id}/sectionGroups
POST /users/{id | userPrincipalName}/onenote/notebooks/{id}/sections
POST /users/{id | userPrincipalName}/onenote/notebooks/GetNotebookFromWebUrl
POST /users/{id | userPrincipalName}/onenote/pages
POST /users/{id | userPrincipalName}/onenote/pages/{id}/copyToSection
POST /users/{id | userPrincipalName}/onenote/sectionGroups/{id}/sectionGroups
POST /users/{id | userPrincipalName}/onenote/sectionGroups/{id}/sections
POST /users/{id | userPrincipalName}/onenote/sections/{id}/copyToNotebook
POST /users/{id | userPrincipalName}/onenote/sections/{id}/copyToSectionGroup
POST /users/{id | userPrincipalName}/onenote/sections/{id}/pages
PATCH /groups/{id}/onenote/pages/{id}/content
PATCH /me/onenote/pages/{id}/content
PATCH /sites/{id}/onenote/pages/{id}/content
PATCH /users/{id | userPrincipalName}/onenote/pages/{id}/content
DELETE /groups/{id}/onenote/pages/{id}
DELETE /me/onenote/pages/{id}
DELETE /sites/{id}/onenote/pages/{id}
DELETE /users/{id | userPrincipalName}/onenote/pages/{id}
Exact Microsoft Learn match

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

Methods
GET /groups/{id}/onenote/notebooks
GET /groups/{id}/onenote/notebooks/{id}
GET /groups/{id}/onenote/notebooks/{id}/sectionGroups
GET /groups/{id}/onenote/notebooks/{id}/sections
GET /groups/{id}/onenote/operations/{id}
GET /groups/{id}/onenote/pages
GET /groups/{id}/onenote/pages/{id}
GET /groups/{id}/onenote/resources/{id}/content
GET /groups/{id}/onenote/sectionGroups
GET /groups/{id}/onenote/sectionGroups/{id}
GET /groups/{id}/onenote/sectionGroups/{id}/sectionGroups
GET /groups/{id}/onenote/sectionGroups/{id}/sections
GET /groups/{id}/onenote/sections
GET /groups/{id}/onenote/sections/{id}
GET /groups/{id}/onenote/sections/{id}/pages
GET /me/onenote/notebooks
GET /me/onenote/notebooks/{id}
GET /me/onenote/notebooks/{id}/sectionGroups
GET /me/onenote/notebooks/{id}/sections
GET /me/onenote/notebooks/getRecentNotebooks(includePersonalNotebooks={includePersonalNotebooks})
GET /me/onenote/operations/{id}
GET /me/onenote/pages
GET /me/onenote/pages/{id}
GET /me/onenote/resources/{id}/content
GET /me/onenote/sectionGroups
GET /me/onenote/sectionGroups/{id}
GET /me/onenote/sectionGroups/{id}/sectionGroups
GET /me/onenote/sectionGroups/{id}/sections
GET /me/onenote/sections
GET /me/onenote/sections/{id}
GET /me/onenote/sections/{id}/pages
GET /sites/{id}/onenote/notebooks
GET /sites/{id}/onenote/notebooks/{id}
GET /sites/{id}/onenote/notebooks/{id}/sectionGroups
GET /sites/{id}/onenote/notebooks/{id}/sections
GET /sites/{id}/onenote/operations/{id}
GET /sites/{id}/onenote/pages
GET /sites/{id}/onenote/pages/{id}
GET /sites/{id}/onenote/resources/{id}/content
GET /sites/{id}/onenote/sectionGroups
GET /sites/{id}/onenote/sectionGroups/{id}
GET /sites/{id}/onenote/sectionGroups/{id}/sectionGroups
GET /sites/{id}/onenote/sectionGroups/{id}/sections
GET /sites/{id}/onenote/sections
GET /sites/{id}/onenote/sections/{id}
GET /sites/{id}/onenote/sections/{id}/pages
GET /users/{id | userPrincipalName}/onenote/notebooks
GET /users/{id | userPrincipalName}/onenote/notebooks/{id}
GET /users/{id | userPrincipalName}/onenote/notebooks/{id}/sectionGroups
GET /users/{id | userPrincipalName}/onenote/notebooks/{id}/sections
GET /users/{id | userPrincipalName}/onenote/notebooks/getRecentNotebooks(includePersonalNotebooks={includePersonalNotebooks})
GET /users/{id | userPrincipalName}/onenote/operations/{id}
GET /users/{id | userPrincipalName}/onenote/pages
GET /users/{id | userPrincipalName}/onenote/pages/{id}
GET /users/{id | userPrincipalName}/onenote/resources/{id}/content
GET /users/{id | userPrincipalName}/onenote/sectionGroups
GET /users/{id | userPrincipalName}/onenote/sectionGroups/{id}
GET /users/{id | userPrincipalName}/onenote/sectionGroups/{id}/sectionGroups
GET /users/{id | userPrincipalName}/onenote/sectionGroups/{id}/sections
GET /users/{id | userPrincipalName}/onenote/sections
GET /users/{id | userPrincipalName}/onenote/sections/{id}
GET /users/{id | userPrincipalName}/onenote/sections/{id}/pages
POST /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/submit
POST /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/unsubmit
POST /education/classes/{id}/assignments/{id}/submissions/{id}/reassign
POST /groups/{id}/onenote/notebooks
POST /groups/{id}/onenote/notebooks/{id}/copyNotebook
POST /groups/{id}/onenote/notebooks/{id}/sectionGroups
POST /groups/{id}/onenote/notebooks/{id}/sections
POST /groups/{id}/onenote/notebooks/GetNotebookFromWebUrl
POST /groups/{id}/onenote/pages
POST /groups/{id}/onenote/pages/{id}/copyToSection
POST /groups/{id}/onenote/sectionGroups/{id}/sectionGroups
POST /groups/{id}/onenote/sectionGroups/{id}/sections
POST /groups/{id}/onenote/sections/{id}/copyToNotebook
POST /groups/{id}/onenote/sections/{id}/copyToSectionGroup
POST /groups/{id}/onenote/sections/{id}/pages
POST /me/onenote/notebooks
POST /me/onenote/notebooks/{id}/copyNotebook
POST /me/onenote/notebooks/{id}/sectionGroups
POST /me/onenote/notebooks/{id}/sections
POST /me/onenote/notebooks/GetNotebookFromWebUrl
POST /me/onenote/pages
POST /me/onenote/pages/{id}/copyToSection
POST /me/onenote/sectionGroups/{id}/sectionGroups
POST /me/onenote/sectionGroups/{id}/sections
POST /me/onenote/sections/{id}/copyToNotebook
POST /me/onenote/sections/{id}/copyToSectionGroup
POST /me/onenote/sections/{id}/pages
POST /sites/{id}/onenote/notebooks
POST /sites/{id}/onenote/notebooks/{id}/copyNotebook
POST /sites/{id}/onenote/notebooks/{id}/sectionGroups
POST /sites/{id}/onenote/notebooks/{id}/sections
POST /sites/{id}/onenote/notebooks/GetNotebookFromWebUrl
POST /sites/{id}/onenote/pages
POST /sites/{id}/onenote/pages/{id}/copyToSection
POST /sites/{id}/onenote/sectionGroups/{id}/sectionGroups
POST /sites/{id}/onenote/sectionGroups/{id}/sections
POST /sites/{id}/onenote/sections/{id}/copyToNotebook
POST /sites/{id}/onenote/sections/{id}/copyToSectionGroup
POST /sites/{id}/onenote/sections/{id}/pages
POST /users/{id | userPrincipalName}/onenote/notebooks
POST /users/{id | userPrincipalName}/onenote/notebooks/{id}/copyNotebook
POST /users/{id | userPrincipalName}/onenote/notebooks/{id}/sectionGroups
POST /users/{id | userPrincipalName}/onenote/notebooks/{id}/sections
POST /users/{id | userPrincipalName}/onenote/notebooks/GetNotebookFromWebUrl
POST /users/{id | userPrincipalName}/onenote/pages
POST /users/{id | userPrincipalName}/onenote/pages/{id}/copyToSection
POST /users/{id | userPrincipalName}/onenote/sectionGroups/{id}/sectionGroups
POST /users/{id | userPrincipalName}/onenote/sectionGroups/{id}/sections
POST /users/{id | userPrincipalName}/onenote/sections/{id}/copyToNotebook
POST /users/{id | userPrincipalName}/onenote/sections/{id}/copyToSectionGroup
POST /users/{id | userPrincipalName}/onenote/sections/{id}/pages
PATCH /groups/{id}/onenote/pages/{id}/content
PATCH /me/onenote/pages/{id}/content
PATCH /sites/{id}/onenote/pages/{id}/content
PATCH /users/{id | userPrincipalName}/onenote/pages/{id}/content
DELETE /groups/{id}/onenote/pages/{id}
DELETE /me/onenote/pages/{id}
DELETE /sites/{id}/onenote/pages/{id}
DELETE /users/{id | userPrincipalName}/onenote/pages/{id}
Exact Microsoft Learn PowerShell match

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

Commands
Get-MgUserOnenoteNotebook /me/onenote/notebooks
List notebooks
Get-MgUserOnenoteNotebook /me/onenote/notebooks/{id}
Get notebook
Get-MgUserOnenoteNotebookFromWebUrl /me/onenote/notebooks/GetNotebookFromWebUrl
notebook: getNotebookFromWebUrl
Get-MgUserOnenoteNotebookRecentNotebook /me/onenote/notebooks/getRecentNotebooks(includePersonalNotebooks={includePersonalNotebooks})
notebook: getRecentNotebooks
Get-MgUserOnenoteNotebookSection /me/onenote/notebooks/{id}/sections
List sections
Get-MgUserOnenoteNotebookSectionGroup /me/onenote/notebooks/{id}/sectionGroups
List sectionGroups
Get-MgUserOnenoteOperation /me/onenote/operations/{id}
Get onenoteOperation
Get-MgUserOnenotePage /me/onenote/pages
List onenotePages
Get-MgUserOnenotePage /me/onenote/pages/{id}
Get page
Get-MgUserOnenoteResourceContent /me/onenote/resources/{id}/content
Get resource
Get-MgUserOnenoteSection /me/onenote/sections
List sections
Get-MgUserOnenoteSection /me/onenote/sections/{id}
Get section
Get-MgUserOnenoteSectionGroup /me/onenote/sectionGroups
List sectionGroups
Get-MgUserOnenoteSectionGroup /me/onenote/sectionGroups/{id}
Get sectionGroup
Get-MgUserOnenoteSectionGroupSection /me/onenote/sectionGroups/{id}/sections
List sections
Get-MgUserOnenoteSectionPage /me/onenote/sections/{id}/pages
List pages
Invoke-MgReassignEducationClassAssignmentSubmission /education/classes/{id}/assignments/{id}/submissions/{id}/reassign
educationSubmission: reassign
Invoke-MgUnsubmitEducationClassAssignmentSubmission /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/unsubmit
educationSubmission: unsubmit
New-MgUserOnenoteNotebook /me/onenote/notebooks
Create notebook
New-MgUserOnenoteNotebookSection /me/onenote/notebooks/{id}/sections
Create section
New-MgUserOnenoteNotebookSectionGroup /me/onenote/notebooks/{id}/sectionGroups
Create sectionGroup
New-MgUserOnenoteSectionGroupSection /me/onenote/sectionGroups/{id}/sections
Create section
Remove-MgSitePage /me/onenote/pages/{id}
Delete page
Exact Microsoft Learn PowerShell match

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

Commands
Get-MgBetaUserOnenoteNotebook /me/onenote/notebooks
List notebooks
Get-MgBetaUserOnenoteNotebook /me/onenote/notebooks/{id}
Get notebook
Get-MgBetaUserOnenoteNotebookFromWebUrl /me/onenote/notebooks/GetNotebookFromWebUrl
notebook: getNotebookFromWebUrl
Get-MgBetaUserOnenoteNotebookRecentNotebook /me/onenote/notebooks/getRecentNotebooks(includePersonalNotebooks={includePersonalNotebooks})
notebook: getRecentNotebooks
Get-MgBetaUserOnenoteNotebookSection /me/onenote/notebooks/{id}/sections
List sections
Get-MgBetaUserOnenoteNotebookSectionGroup /me/onenote/notebooks/{id}/sectionGroups
List sectionGroups
Get-MgBetaUserOnenoteOperation /me/onenote/operations/{id}
Get onenoteOperation
Get-MgBetaUserOnenoteResourceContent /me/onenote/resources/{id}/content
Get resource
Get-MgBetaUserOnenoteSection /me/onenote/sections
List sections
Get-MgBetaUserOnenoteSection /me/onenote/sections/{id}
Get section
Get-MgBetaUserOnenoteSectionGroup /me/onenote/sectionGroups
List sectionGroups
Get-MgBetaUserOnenoteSectionGroup /me/onenote/sectionGroups/{id}
Get sectionGroup
Get-MgBetaUserOnenoteSectionGroupSection /me/onenote/sectionGroups/{id}/sections
List sections
Invoke-MgBetaReassignEducationClassAssignmentSubmission /education/classes/{id}/assignments/{id}/submissions/{id}/reassign
educationSubmission: reassign
Invoke-MgBetaUnsubmitEducationClassAssignmentSubmission /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/unsubmit
educationSubmission: unsubmit
New-MgBetaUserOnenoteNotebook /me/onenote/notebooks
Create notebook
New-MgBetaUserOnenoteNotebookSection /me/onenote/notebooks/{id}/sections
Create section
New-MgBetaUserOnenoteNotebookSectionGroup /me/onenote/notebooks/{id}/sectionGroups
Create sectionGroup
New-MgBetaUserOnenoteSectionGroupSection /me/onenote/sectionGroups/{id}/sections
Create section
Remove-MgBetaUserOnenotePage /me/onenote/pages/{id}
Delete page

Code Examples

C# / .NET SDK
Create notebook
// Code snippets are only available for the latest version. Current version is 5.x

// Dependencies
using Microsoft.Graph.Models;

var requestBody = new Notebook
{
	DisplayName = "My Private notebook",
};

// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.Onenote.Notebooks.PostAsync(requestBody);
JavaScript
Create notebook
const options = {
	authProvider,
};

const client = Client.init(options);

const notebook = {
    displayName: 'My Private notebook'
};

await client.api('/me/onenote/notebooks')
	.post(notebook);
PowerShell
Create notebook
Import-Module Microsoft.Graph.Notes

$params = @{
	displayName = "My Private notebook"
}
# A UPN can also be used as -UserId.
New-MgUserOnenoteNotebook -UserId $userId -BodyParameter $params
Python
Create notebook
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.notebook import Notebook
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Notebook(
	display_name = "My Private notebook",
)

result = await graph_client.me.onenote.notebooks.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 Application permissions or delegated permissions and search for Notes.ReadWrite.All

4

Grant Admin Consent

Application permissions always require admin consent.

Frequently asked questions

What is the Notes.ReadWrite.All Microsoft Graph permission?

Notes.ReadWrite.All is available as both an application permission and a delegated permission in the Microsoft Graph API, grouped under the Notes category. Allows the app to read all the OneNote notebooks in your organization, without a signed-in user. It grants read and write access to resources. Application permissions always require admin consent. It is mapped to the Microsoft Graph onenote resource type. 238 documented Microsoft Graph REST methods require it. 43 Microsoft Graph PowerShell commands are documented for it.

Is Notes.ReadWrite.All an application or a delegated permission?

Notes.ReadWrite.All is available as both an application permission (app-only access, no signed-in user) and a delegated permission (access on behalf of a signed-in user).

Does Notes.ReadWrite.All require admin consent?

Application permissions always require admin consent.

What is the permission ID (GUID) for Notes.ReadWrite.All?

For Notes.ReadWrite.All, the application (app role) ID is 0c458cef-11f3-48c2-a568-c66751c238c0, and the delegated (OAuth2 scope) ID is 64ac0503-b4fa-45d9-b544-71a463f05da0. These are the real Microsoft Graph identifiers and can be used directly in an app registration manifest.