Partilhar via


OneNote API Near-Term Roadmap

Last Updated on 8/13/2014: Items on the roadmap have been updated to reflect which ones are now available in production.

Hey folks, this is James Lau - I am the Lead Program Manager on the OneNote API team. In this blog post, I’d like to share with your our near-term roadmap and get your feedback.

Last week, we launched the initial version of our API. The first set of features are focused on scenarios for creating pages in OneNote: mobile app scanners, hardware scanners, save-it-for-later for newsreaders, etc. Of course, we are far from done, and we have already started are busy working on the next set of features. Instead of "going dark" and then shipping features that we think you want, we would rather have a dialog with you on what we are building.

One of the core principles we have on our team is customer transparency. We understand that you are trusting us and taking a bet on our platform when you use our API. As such, not only do you deserve to know what we are planning, but you also deserve to have a say in what we do! We have set up a OneNote API feedback site so you can participate in our planning, vote on features and submit your ideas.

Here is a list of the capabilities and features that we are planning to deliver over the next 3 to 6 months. That is a very rough timeframe, and priorities can change at any time, so please don't base your plan on this timeframe. The features below are also not listed in strict priority order. We have multiple teams tackling this list simultaneously, so some of these will be built in parallel. Nonetheless, we would love to get your feedback on their relative importance to you.

  1. PDF Rendering ( Live in Production, see announcement here ). In the current API, you can create a page with a PDF attachment, but it cannot be rendered onto the page directly. This feature will enable a PDF to be rendered onto the page, making it usable directly on the OneNote page. Since PDF is by far the most popular scan format, this is particularly important to scanner scenarios.

  2. Improved error codes (Live in Production, see announcement here). Today, our error codes and messages aren't very helpful. For example, if you missed including the office.onenote_create scope when you asked your user to sign in, when you call the page create API, you will just get a 401 Unauthorized error back with no message telling you that you are missing the office.onenote_create scope. We would like to provide richer error messages, particularly for the 4XX type client errors, so we can help you pinpoint what is wrong with your request.

  3. API to create in a specific notebook and section (Live in Production, see announcement here). In the current API, all the pages created through the API will end up in the default location (see our blog post on the default page location). This feature will enable developers to create UI to let the user pick a specific location where the page should be created.

  4. API to create a notebook (Live in Production, see announcement here). Lets your app create a new notebook. (i.e. POST https://www.onenote.com/api/v1.0/notebooks)

  5. API to create a section (Live in Production, see announcement here). Lets your app create a new section within a notebook. (i.e. POST https://www.onenote.com/api/v1.0/sections)

  6. API to do whole page replacement. This will be the first version of our page update API, which is to enable you to replace the entire page (i.e. PUT https://www.onenote.com/api/v1.0/pages/{id}).

  7. API to get default location. For apps that don’t want to go through the hassle of creating UI to let the user pick where he wants the page to be created, they can use this API to at least get back the default notebook name and section name to show the user which location the page is going to be created in.

  8. Checkbox and other tag support. This would allow developers to use TODO's and other types of tags in OneNote. Note that tags in OneNote aren't page-level tags like in a blog post. OneNote tags are things like TODO, Important, Question, etc.

    image

  9. API to delete a notebook, delete a section and delete a page.
    (i.e. DELETE https://www.onenote.com/api/v1.0/notebooks/{id},
    DELETE https://www.onenote.com/api/v1.0/sections/{id},
    DELETE https://www.onenote.com/api/v1.0/pages/{id})

  10. API to recall list of pages (Live in Beta, see announcement here). Enables an app to enumerate all the pages in the user's notebooks. For example, your app might want to list the most recently created pages in OneNote to let the user choose a page to add its content into your app. (i.e. GET https://www.onenote.com/api/v1.0/pages)

  11. API to recall page content. We expect most developers will use this API along with #10 to get the contents of a page back and use it inside the app. (i.e. GET https://www.onenote.com/api/v1.0/pages/{id})

  12. API to recall images across notebooks or within a notebook. This is useful in scenarios where you want to enumerate all of the images stored inside the user's notebooks and allow them to pick the ones they want to use in your app. (i.e. GET https://www.onenote.com/api/v1.0/images or GET https://www.onenote.com/api/v1.0/notebooks/{id}/images)

Please let us know of anything you want that's missing and vote on the ones that you really want *right now*! Your feedback will really help us prioritize and influence what we work on next.

Other than transparency, our team also believes in delivering customer value early. That means we are going to be delivering new features as they are completed and not take a "big bang" approach. We do daily deployments to our service too, so there are tons of opportunities to get these features out on a regular basis.

 

Best,

James (@jmslau)

Comments

  • Anonymous
    March 25, 2014
    Really looking forward to the new APIs!

  • Anonymous
    March 25, 2014
    Number 3 (API to create in a specific notebook and section) is the most inmportant one. The current default location for notes wreaks havoc in my notebooks.

  • Anonymous
    March 25, 2014
    I applaud the team on being transparent.  I hope you continue this and not give up soon after you release a blog or two like other teams.... cough, cough.... Roslyn! Looking forward to what is provided.

  • Anonymous
    March 25, 2014
    What about accessing password-protected pages? Currently this is not working even in official Windows Phone 8 app!

  • Anonymous
    March 25, 2014
    I really like how Evernote saves a webpage instead of making the webpage an image as OneNote sometimes does, its saves in a format similar to word.  That would be really nice to implement into OneNote

  • Anonymous
    March 25, 2014
    The comment has been removed

  • Anonymous
    March 25, 2014
    PDF would be my top priority. I have document interfaces of various kinds and most everyone has a PDF reader, either in-browser, on phone, tablet, or computer whereas not everyone has MS Office capability.

  • Anonymous
    March 25, 2014
    Improve PDF support & I'll jump from evernote in a second

  • Anonymous
    March 25, 2014
    Make it possible to save web pages as webarchives or pdfs, so they can be marked up. (Ideally preserving more of the page appearance than "send to onenote" does.) Synced audio recording on Mac version; linked notes.

  • Anonymous
    March 25, 2014
    Please, please, please make the PDF text available to the developer once you implement that feature!  That would be a huge feature that would enable a variety of useful apps based on the API.

  • Anonymous
    March 26, 2014
    What is the plan to develop handwritten notes?

  • Anonymous
    March 26, 2014
    Which onenote do you mean? OneNote for the windows desktop 2013, OneNote app for the modern UI, onenote for windows phone? Most of these features are already available to some degree within the onenote desktop program. If this refers to onenote for windows phone, this would be great! Still missing one important api for me in this program/app: instant ink-to-text recognition of handwriting input. Already avialble in onenote 2013 as an edit option. But would like it to be a more seamless experience with also multiple language pack support, as like myscript mobile. Microsoft has supported ink-to-text recognition for so long now. I amazed this feature doesnt get the support it deserves.

  • Anonymous
    March 31, 2014
    Really excited for #11.  Being one way doesn't really differentiate from the multiple other players in the space.  Being able to load page content back into my app, instead of only within the OneNote app (or Evernote app, or Pocket app, etc) ....now that will be significant. Sigh.. Guess we'll have to look for an alternative in the meantime.   Let me know if there is a beta that needs a partner to help test this feature once it's nearing ready.  @uelsimon

  • Anonymous
    March 31, 2014
    Excellent work so far, very helpful. I would like to be able to add to the beginning or end of an existing page, in addition to creating new pages.

  • Anonymous
    April 09, 2014
    10 and 11... opens up interesting scenarios in using a OneNote notebook as a backend store that can be edited/accessed directly

  • Anonymous
    April 20, 2014
    What about appending to an existing page? For instance if you want to continually update a page with some daily content. Based on these changes you would have to get the existing page content, add to it in our own application, then create a new page. Why not just add the ability to append to the bottom of a already existing page?

  • Anonymous
    April 28, 2014
    #10/#11 are probably the most important for any true integration, everything I want to do with OneNote requires these. With client apps on every platform I use, I've never wished I had another way to put data INTO OneNote, only retrieve, manipulate, and act on data that's already there. Can't wait to see these items working!

  • Anonymous
    May 29, 2014
    Would like the ability to link a note/page to a record in another system, and then #10 recall a list of notes/pages that relate to the external record. (could be a GUID field or maybe a URL field).  Would also like the ability to #10 recall a list of the most recently created/updated notes/pages, so that we can take action on these on a pull frequency (a webhook would be great idea).  In general would like the ability to handle use cases like 1) pulling todo information from meeting minute pages created in onenote into project records as work items / tasks. 2) pull questions into q&a repositories.

  • Anonymous
    August 01, 2014
    One of the biggest problems in the iOS world is integrating Reminders, Notes, and calendar entries. If OneNote and the developer through OneNote API's could read / write to iOS apps it would be amazing.  There would finally be a way to enter a calendar event with a reminder  in one place.  That is something nothing else does yet (Timeful is trying to do something like this).