Create notebook

Namespace: microsoft.graph


APIs under the /beta version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported. To determine whether an API is available in v1.0, use the Version selector.

Create a new OneNote notebook.


One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

Permission type Permissions (from least to most privileged)
Delegated (work or school account) Notes.Create, Notes.ReadWrite, Notes.ReadWrite.All
Delegated (personal Microsoft account) Notes.Create, Notes.ReadWrite
Application Notes.ReadWrite.All

HTTP request

POST /me/onenote/notebooks
POST /users/{id | userPrincipalName}/onenote/notebooks
POST /groups/{id}/onenote/notebooks
POST /sites/{id}/onenote/notebooks

Request headers

Name Type Description
Authorization string Bearer {token}. Required.
Content-Type string application/json

Request body

In the request body, supply a name for the notebook.

Notebook names must be unique. The name cannot contain more than 128 characters or contain the following characters: ?*/:<>|'"


If successful, this method returns a 201 Created response code and the new notebook object in the response body.



Here is an example of the request.

Content-type: application/json

    "displayName": "My Private notebook"


Here is an example of the response. Note: The response object shown here is truncated for brevity. All of the properties will be returned from an actual call.

HTTP/1.1 201 Created
Content-type: application/json

    "@odata.context": "$metadata#users('7d54cb02-aaa3-4016-9f9c-a4b49422dd9b')/onenote/notebooks/$entity",
    "id": "1-10143016-70dc-4449-b92a-3015225f800d",
    "self": "",
    "displayName": "My Private notebook",
    "userRole": "Owner",
    "isShared": false,
    "sectionsUrl": "",
    "sectionGroupsUrl": "",
    "links": {
        "oneNoteClientUrl": {
            "href": "onenote:"
        "oneNoteWebUrl": {
            "href": ""