OneNote Developer APIs

Welcome to the feedback forum for OneNote’s developer platform and APIs! This is the place for developers to send us feedback and suggestions. To share feedback about OneNote’s apps, please visit our user forum instead. For “How To” questions, please visit StackOverflow.

How can we improve the OneNote APIs and developer platform? Vote for an existing idea or share a new one.

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  1. ODATA 'search' for OneNote Business

    I was somewhat shocked when an API tech told me you can't search OneNote Business pages via the API to find the note you need to retrieve or modify.

    I'm sure there are some permissions concerns, but without being able to search using the API is extremely inefficient and not really usable for many purposes.

    Please prioritize giving your paid business customers the same features as your free consumers can get.

    21 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      You have left! (?) (thinking…)
      0 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
    • Get/Put RAW page data

      Hi,

      I want to get and put the raw data for a page, so that I don't have to parse the HTML rendered page and download the resources, and maybe have to wait for another API for supporting Ink or other extension generated data. And I'd like to avoid generate multipart http request just to restore what I downloaded.

      And want this integrated to MS GRAPH API C# DLL so that I don't have to create raw http(s) request.

      1 vote
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)
        You have left! (?) (thinking…)
        0 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
      • Webhooks for Office 365 Notes

        Webhooks now work for OneDrive accounts which is great, but we've got Office 365 Business clients clamoring for the same functionality. I know there are privacy and access concerns to be addressed here, but Evernote solved them and I'm sure Microsoft will too.

        It's always tough when paying Business users feel behind free users in functionality. Hope this can be addressed soon.

        60 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)
          You have left! (?) (thinking…)
          2 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
        • Solve the error code: 10013

          Solve the error code: 10013 removing the limit of 20000 items in onedrive (as well as the error with the limit of 5000 item in onenote)

          1 vote
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)
            You have left! (?) (thinking…)
            0 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
          • Make tags on the entire note available through the API

            Although OneNote tags on page elements (e.g. <p>) show up in the HTML content returned via the REST API prefixed with a data-tag attribute, tags on the entire note are not returned.
            Jorge Aguirre believes that the right way of representing this information is to add the data-tag attribute to the HTML->head->title element.
            More about this feature (or rather, current lack of it) at:
            https://stackoverflow.com/questions/47025309/any-way-to-get-the-tag-on-a-note-not-just-a-page-element-via-onenote-rest-api

            1 vote
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service
              Signed in as (Sign out)
              You have left! (?) (thinking…)
              0 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
            • Classroom Notebook backs up the teacher and alllllll of the student content. Taking up major space on teacher's hard drive. The teachers c

              Classroom Notebook backs up the teacher and alllllll of the student content. Taking up major space on teacher's hard drive. The teachers content only needs to be backed up and the students has their own backup. This has to be addresses - Soon, please!!

              1 vote
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)
                You have left! (?) (thinking…)
                0 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
              • Onenote tags

                I am syncing OneNote notebooks into my application using MS graph API. Onenote has few tags like To-Do, Important, Question etc. When I fetch html content for particular page these tags comes as data-tag like in -

                <p lang="en-US" data-tag="important" style="margin-top:0pt;margin-bottom:0pt"><span lang="en-GB">Abc</p>
                How can I replace these tags with the icon with which they are represented in OneNote UI. If I think to skip these tags the notes look very weird.

                There has to be rest api which gives you binary content or some metadat information about tag provided tag type (name) like to-do

                5 votes
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                  0 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
                • API to identify deleted notebooks/sections/groups IDs

                  Existing API's do not provide a way to identify deleted notebooks/sections/pages. Request you to provide an API to provide the list of items got deleted from a given date.

                  This will be useful in case of offline apps where it syncs periodically to OneNote server.

                  3 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                    0 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
                  • Add createdBy, createdDateTime, lastModifiedBy and lastModifiedDateTime to individual page elements via OneNote Graph API

                    OneNote definitely has author information about individual edits within a page (i.e. individual divs or whatever), as this can be viewed through the API. We would like this information through the Graph API.

                    4 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                      0 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
                    • Webhooks via Graph API

                      Please add webhooks on Graph API.

                      I assume this is on the roadmap, but there is nothing mentioned. There are several gaps that make moving to graph (and supporting business notebooks) difficult.

                      So far, we cannot get webhooks or update pages via Graph. Some indication that we will be able to soon support these features would be great.

                      3 votes
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                        2 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
                      • API support for page versionning

                        It should possible take a backup copy of page using the same mechanism as the application built-in versioning mechanism.
                        Eg. Before modying a page with the Rest API.

                        3 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                          0 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
                        • notebook color

                          Add a 'color' property to the 'notebook' object.

                          With a 'color' property, apps developed with the API could present a more uniform experience across different devices and domains.

                          4 votes
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                            0 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
                          • API bug of Input HTML when creating new pages with non-contributing default div

                            Hi,

                            Just came across this bug when trying to create an empty page and append content to it later through data-id.

                            The HTML I used to create the empty page is:
                            <!DOCTYPE html>
                            <html>
                            <head>
                            <title>some title generated</title>
                            <meta name="created" content="some time string generated" />
                            </head>
                            <body>
                            <div data-id="_clippings"></div>
                            </body>
                            </html>

                            The page was created successfully but when I tried to update it later, the response is data-id not found.
                            So I tried to get the HTML body of the page created and it was like this:
                            <html lang="en-US">
                            <head>
                            <title>test without content</title>
                            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                            <meta name="created"…

                            1 vote
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              I agree to the terms of service
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                              0 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
                            • Search/Filter using data-tags (like data-tag="to-do")

                              I am developing a script which will copy all the content from several pages having " data-tag='to-do' ". It would be much easier to fetch the particular contents of the page by filtering it using onenote tags. But currently I have to access each and every page as such features are not yet available in API.
                              Please enhance the filters by implementing filter using OneNote tags.

                              19 votes
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                                0 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
                              • Ability to copy sections between different users' Notebooks in Office 365

                                I'm trying to copy section of a notebook, or even notebook itself, from a notebook in one user's OneDrive to another user's notebook in their OneDrive. The user I'm logged in as has permissions to read and write both notebooks. I'm getting the error response:

                                message=The specified resource ID does not exist.
                                @api.url=http://aka.ms/onenote-errors#C20102
                                code=20102
                                Where the path I'm using is of the form https://www.onenote.com/api/v1.0/users/{id}/notes/sections/{id}/copyToNotebook where the ids in that are for the source section.

                                which is presumably because the id in the post request represents a notebook under a different user.

                                If I was copying to a SharePoint site…

                                3 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                  0 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
                                • API to delete page content

                                  There is no way to delete some content from a page with the API. Such as in this example:

                                  <body>
                                  <div id="div:{681ddef6-e8ad-0de3-2439-dcc668303696}{34}">
                                  <p id="p:{f5837c83-d816-4337-ab6d-a52abde869a6}{13}">Delete me</p>
                                  <p id="p:{1710a020-7fa3-46cb-a8ab-64209696e083}{14}">Keep me/p>
                                  </div>
                                  </body>

                                  We should be able to have a PATCH request with the following instruction:
                                  [{
                                  'target': 'p:{f5837c83-d816-4337-ab6d-a52abde869a6}{13}',
                                  'action': 'delete',
                                  },
                                  ]

                                  7 votes
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                    0 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Custom data attributes (data-custom-*) per element

                                    Support for data-* attributes with custom names would be great.

                                    It would allow keeping 3rd party application specific metadata along elements. This would enhance sync possibilites with external systems.

                                    These attributes would be not interpreted by OneNote but persisted. Now I tested it and these attributes are thrown away when doing roundtrip via OneNote API.

                                    Currently, there is only data-id attribute which is great but not offering much flexibility.

                                    These new attribute could have extra prefix e.g. data-custom-* not to collide with your internal attributes..

                                    7 votes
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                      0 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Full OCR Data

                                      The OCR data in OneNote has both a token and text data:

                                      <one:OCRText><![CDATA[CHAPTER 32 ]]></one:OCRText>
                                      <one:OCRToken startPos="0" x="132.75" y="76.5" width="207" height="27" />

                                      Please make this available via JSON for add-ins and in the API. For example:

                                      {[
                                      {
                                      "text":"something",
                                      "position":{
                                      "x": 132
                                      "y": 40
                                      "width": 150
                                      "height": 200
                                      }
                                      },
                                      //Rest of OCR text associated with an image
                                      ]}

                                      1 vote
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                        0 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
                                      • clowns.

                                        I dunnno. whatever the heck you are.

                                        3 votes
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                          0 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Section & page ordering: matching desktop versions

                                          To improve the user experience can the API please allow us to order section and pages to match what the user's desktop client ordering is? Or at least provide an orderby option for this?

                                          I assume that this information is available? I don't have to re-order all my information on iOS client or desktop client if I install from scratch. The OneNote web client knows the order of sections & pages. Can the API too please

                                          6 votes
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                            0 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
                                          ← Previous 1 3 4
                                          • Don't see your idea?

                                          OneNote Developer APIs

                                          Feedback and Knowledge Base