New APIs Available: Create Notebooks and Sections
We are happy to announce that we have just turned on the ability create notebooks and sections through the OneNote API. These new APIs are very straight-forward to use, and here are some examples.
Creating a new Notebook
To create a new notebook called “Fall 2014 Semester”, simply make the following HTTP request:
POST https://www.onenote.com/api/v1.0/notebooks
Headers:
Content-Type: application/json // Make sure you include these headers!
Authorization: Bearer <access_token>
Body:
{ name: “Fall 2014 Semester” }
And that’s it. Here is a sample response:
201 Created
{
"@odata.context": "https://www.onenote.com/api/v1.0/$metadata#notebooks/$entity",
"isDefault": false,
"userRole": "Owner",
"lastModifiedBy": "James Lau",
"isShared": false,
"sectionsUrl": "https://www.onenote.com/api/v1.0/notebooks/0-61528580FB755FBB!460/sections",
"sectionGroupsUrl": "https://www.onenote.com/api/v1.0/notebooks/0-61528580FB755FBB!460/sectionGroups",
"links": {
"oneNoteClientUrl": {
"href": "onenote:https://d.docs.live.net/61528580fb755fbb/Documents/Fall%202014%20Semester"
},
"oneNoteWebUrl": {
"href": "https://onedrive.live.com/redir.aspx?cid=61528580fb755fbb&page=edit&resid=61528580FB755FBB!460"
}
},
"id": "0-61528580FB755FBB!460",
"name": "Fall 2014 Semester",
"self": "https://www.onenote.com/api/v1.0/notebooks/0-61528580FB755FBB!460",
"createdBy": "James Lau",
"lastModifiedBy": "James Lau",
"createdTime": "2014-07-29T19:08:49.987Z",
"lastModifiedTime": "2014-07-29T19:08:49.987Z"
}
Creating a new Section
Creating a new section is similarly easy. Let’s create a new section called “BIOLOGY 101” in the notebook that we just created. In this case, we will use the “id” property above (0-61528580FB755FBB!460) as the {notebookId} below.
POST https://www.onenote.com/api/v1.0/notebooks/{notebookId}/sections
Headers:
Content-Type: application/json // Make sure you include these headers!
Authorization: Bearer <access_token>
Body:
{ name: “BIOLOGY 101” }
Voila! And here is the response we get back:
201 Created
{
"@odata.context": "https://www.onenote.com/api/v1.0/$metadata#sections/$entity",
"isDefault": false,
"pagesUrl": "https://www.onenote.com/api/v1.0/sections/0-61528580FB755FBB!462/pages",
"id": "0-61528580FB755FBB!462",
"name": "BIOLOGY 101",
"self": "https://www.onenote.com/api/v1.0/sections/0-61528580FB755FBB!462",
"createdBy": "James Lau",
"createdTime": "2014-07-29T19:10:51.573Z",
"lastModifiedTime": "2014-07-29T19:10:51.673Z"
}
Create New Notebook on OneNote Online
With the launch of these new APIs, we have also just turned on the ability to create new notebooks on OneNote Online. This is a feature that has been requested by many of our users. Now that it is available, the OneNote Online experience is more convenient to use than ever before.
Note that we are using the exact same API as the one we are providing to our developer community. We are happy to be making this feature and the API available to you simultaneously.
Documentation
You can find the reference documentation from the links below:
With that, we are also marking 2 items on UserVoice as completed (Create section API and Create notebook API).
That’s it. You can also play with these API from our interactive console as usual.
Happy coding!
- James (@jmslau)
Comments
Anonymous
August 04, 2014
Do we have the ability to add content to an existing notebook using these new API??Anonymous
August 06, 2014
As someone who predates the 8080 chip, I am excited to see that OneNote is becoming the best note application available. Keep up the good work.Anonymous
August 06, 2014
Yes, you can create pages in specific notebook/section. Please read this post for more info: blogs.msdn.com/.../create-page-in-specific-location-now-in-beta.aspxAnonymous
June 23, 2015
I lost a note that I needed. it wont let me get it back. Can you help me ?