{"id":9155,"date":"2021-12-14T07:20:36","date_gmt":"2021-12-14T15:20:36","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/?p=9155"},"modified":"2022-10-13T21:08:46","modified_gmt":"2022-10-14T04:08:46","slug":"announcing-the-public-preview-of-to-do-tasks-api","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/announcing-the-public-preview-of-to-do-tasks-api\/","title":{"rendered":"Announcing the public preview of To Do Tasks API"},"content":{"rendered":"<p>At Microsoft Ignite 2021,\u00a0we\u00a0announced\u00a0the\u00a0private preview\u00a0<a tabindex=\"-1\" title=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/microsoft-graph-ignite-2021\/#to-do-tasks\" href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/microsoft-graph-ignite-2021\/#to-do-tasks\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Link of To Do\u2019s new Tasks API\">of\u00a0To Do\u2019s\u00a0new Tasks API<\/a>\u00a0in\u00a0Microsoft\u00a0Graph.\u00a0Today, we\u2019re\u00a0thrilled to announce the public preview of Tasks API on beta endpoint.<\/p>\n<p><span class=\"TextRun SCXW117225794 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW117225794 BCX0\">The Tasks API in <\/span><span class=\"NormalTextRun CommentStart SCXW117225794 BCX0\">Microsoft <\/span><span class=\"NormalTextRun SCXW117225794 BCX0\">G<\/span><span class=\"NormalTextRun SCXW117225794 BCX0\">raph <\/span><span class=\"NormalTextRun SCXW117225794 BCX0\">helps <\/span><span class=\"NormalTextRun SCXW117225794 BCX0\">bring user<\/span><span class=\"NormalTextRun SCXW117225794 BCX0\">s\u2019<\/span><span class=\"NormalTextRun SCXW117225794 BCX0\"> tasks<\/span> <span class=\"NormalTextRun SCXW117225794 BCX0\">from multiple sources such as <\/span><span class=\"NormalTextRun CommentStart SCXW117225794 BCX0\">O<\/span><span class=\"NormalTextRun SCXW117225794 BCX0\">utlook<\/span> <span class=\"NormalTextRun SCXW117225794 BCX0\">emails, Teams cha<\/span><span class=\"NormalTextRun SCXW117225794 BCX0\">ts<\/span><span class=\"NormalTextRun SCXW117225794 BCX0\">, <\/span><span class=\"NormalTextRun SCXW117225794 BCX0\">Office<\/span> <span class=\"NormalTextRun SCXW117225794 BCX0\">documents<\/span><span class=\"NormalTextRun SCXW117225794 BCX0\"> in<\/span><span class=\"NormalTextRun SCXW117225794 BCX0\">to<\/span><span class=\"NormalTextRun SCXW117225794 BCX0\"> one single place. <\/span><span class=\"NormalTextRun SCXW117225794 BCX0\">The new endpoint <\/span><\/span><span class=\"TextRun Highlight SCXW117225794 BCX0\" lang=\"EN-IN\" style=\"font-size: 14pt;\" xml:lang=\"EN-IN\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW117225794 BCX0\">me\/tasks<\/span><\/span><span class=\"TextRun SCXW117225794 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW117225794 BCX0\"> aligns with <\/span><span class=\"NormalTextRun CommentStart SCXW117225794 BCX0\">our vision of a single place for all tasks <\/span><span class=\"NormalTextRun SCXW117225794 BCX0\">of <\/span><span class=\"NormalTextRun SCXW117225794 BCX0\">a user<\/span><span class=\"NormalTextRun SCXW117225794 BCX0\">. These APIs allow your apps to <\/span><span class=\"NormalTextRun SCXW117225794 BCX0\">retrieve<\/span><span class=\"NormalTextRun CommentStart SCXW117225794 BCX0\">, create, and organize users\u2019 tasks and task lists.<\/span><\/span><span class=\"EOP SCXW117225794 BCX0\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>The Tasks API provides the following key resources:<\/p>\n<ol>\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/graph\/api\/resources\/basetasklist?view=graph-rest-beta\"><b><span data-contrast=\"none\">Task list<\/span><\/b><\/a><span data-contrast=\"auto\">: <\/span><span data-contrast=\"auto\">Represents a logical container of task items. You can currently create tasks only within a <\/span><a href=\"https:\/\/nam06.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fgraph%2Fapi%2Fresources%2Fbasetasklist%3Fview%3Dgraph-rest-beta&amp;data=04%7C01%7CAvijit.Yadav%40microsoft.com%7C877a44b614d74323e3f808d9bf75a00d%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637751334187752126%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=59fyPz4dD3GdTpCY0jAYvBhQX1UcNzWgJFTfp06FpAA%3D&amp;reserved=0\"><b><span data-contrast=\"none\">Task list<\/span><\/b><\/a><span data-contrast=\"auto\">. Task items created without an explicitly specified list container will be created and appear in the default list named \u201c<\/span><b><span data-contrast=\"auto\">Tasks<\/span><\/b><span data-contrast=\"auto\">\u201d<\/span><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/graph\/api\/resources\/basetask?view=graph-rest-beta\"><b><span data-contrast=\"none\">Task<\/span><\/b><\/a><span data-contrast=\"auto\">: Represents a task, i.e. a piece of work, action or item that can be tracked and completed<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/graph\/api\/resources\/checklistitem?view=graph-rest-beta\"><b><span data-contrast=\"none\">Checklist item<\/span><\/b><\/a><b><span data-contrast=\"auto\">:<\/span><\/b><span data-contrast=\"auto\"> Represents a way to allow splitting a task into smaller steps for easier tracking &amp; completion of the parent task.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li><strong><a class=\"Hyperlink SCXW52010253 BCX0\" href=\"https:\/\/docs.microsoft.com\/en-us\/graph\/api\/resources\/linkedresource_v2?view=graph-rest-beta\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"TextRun Underlined SCXW52010253 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW52010253 BCX0\" data-ccp-charstyle=\"Hyperlink\">Linked resource<\/span><\/span><\/a><\/strong><span class=\"TextRun SCXW52010253 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW52010253 BCX0\"><strong>:<\/strong> Represents a<\/span><span class=\"NormalTextRun SCXW52010253 BCX0\">n<\/span><span class=\"NormalTextRun SCXW52010253 BCX0\"> item from a <\/span><span class=\"NormalTextRun CommentStart SCXW52010253 BCX0\">partner application <\/span><span class=\"NormalTextRun SCXW52010253 BCX0\">related to the task. You can use it to store information and the link back to the related item in your app.<\/span><\/span><span class=\"EOP SCXW52010253 BCX0\" data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ol>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/12\/Tasks-API-blog-image_121321.png\"><img decoding=\"async\" class=\"aligncenter wp-image-9157\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/12\/Tasks-API-blog-image_121321-1024x467.png\" alt=\"Image of key resources of the Tasks API\" width=\"800\" height=\"365\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/12\/Tasks-API-blog-image_121321-1024x467.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/12\/Tasks-API-blog-image_121321-300x137.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/12\/Tasks-API-blog-image_121321-768x350.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/12\/Tasks-API-blog-image_121321.png 1341w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<h3>Added capabilities of new Tasks API<\/h3>\n<p>Along with the capabilities that are present in the existing To Do APIs, we are bringing the new capabilities to Tasks API.<\/p>\n<ol>\n<li>Retrieve all task for a user using <code>AllTasks<\/code> endpoint<\/li>\n<\/ol>\n<p><span class=\"TextRun SCXW73685308 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW73685308 BCX0\"><code>AllTasks<\/code> endpoint allows applications to get all <\/span><span class=\"NormalTextRun CommentStart SCXW73685308 BCX0\">tasks of a user<\/span><span class=\"NormalTextRun SCXW73685308 BCX0\"> in one single call. Further, applications <\/span><span class=\"NormalTextRun CommentStart SCXW73685308 BCX0\">can <\/span><span class=\"NormalTextRun SCXW73685308 BCX0\">apply<\/span> <span class=\"NormalTextRun SCXW73685308 BCX0\">OData<\/span><span class=\"NormalTextRun SCXW73685308 BCX0\"> filter<\/span><span class=\"NormalTextRun SCXW73685308 BCX0\">s<\/span><span class=\"NormalTextRun SCXW73685308 BCX0\"> on the <\/span><span class=\"NormalTextRun SCXW73685308 BCX0\">task properties <\/span><span class=\"NormalTextRun SCXW73685308 BCX0\">to get only the <\/span><span class=\"NormalTextRun SCXW73685308 BCX0\">relevant<\/span> <span class=\"NormalTextRun SCXW73685308 BCX0\">tasks.<\/span> <span class=\"NormalTextRun SCXW73685308 BCX0\">Application can also quickly create <\/span><span class=\"NormalTextRun SCXW73685308 BCX0\">tasks in<\/span><span class=\"NormalTextRun SCXW73685308 BCX0\"> the defaul<\/span><span class=\"NormalTextRun SCXW73685308 BCX0\">t <\/span><span class=\"NormalTextRun SCXW73685308 BCX0\">\u201c<\/span><\/span><strong><span class=\"TextRun Highlight SCXW73685308 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW73685308 BCX0\">T<\/span><span class=\"NormalTextRun SCXW73685308 BCX0\">asks<\/span><\/span><\/strong><span class=\"TextRun Highlight SCXW73685308 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW73685308 BCX0\">\u201d<\/span><\/span><span class=\"TextRun SCXW73685308 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"> <span class=\"NormalTextRun SCXW73685308 BCX0\">list <\/span><span class=\"NormalTextRun SCXW73685308 BCX0\">from this endpoint<\/span><span class=\"NormalTextRun SCXW73685308 BCX0\">.<\/span><span class=\"NormalTextRun SCXW73685308 BCX0\">\u00a0<\/span><\/span><span class=\"EOP SCXW73685308 BCX0\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ol start=\"2\">\n<li>Create steps using checklist item API<\/li>\n<\/ol>\n<p>Application can now split a task into smaller steps that can be completed separately. This is helpful for better planning and tracking of complex tasks.<\/p>\n<ol start=\"3\">\n<li>Move tasks across lists<\/li>\n<\/ol>\n<p>Using the new move operation on tasks, application can now move tasks across lists. Also, with support of immutable tasks ids, ids do not change during move operation within the mailbox.<\/p>\n<h3>Illustrative use of Tasks API<\/h3>\n<p>Here are some examples of how you can use the Tasks APIs in beta endpoint<\/p>\n<ol>\n<li>If you want to see all your tasks in the mailbox without any filter, call the API as shown below<\/li>\n<\/ol>\n<pre class=\"prettyprint\">GET <a href=\"https:\/\/graph.microsoft.com\/beta\/me\/tasks\/AllTasks\" target=\"_blank\" rel=\"noopener\">https:\/\/graph.microsoft.com\/beta\/me\/tasks\/AllTasks<\/a><\/pre>\n<ol start=\"2\">\n<li>You can also use any filter on this endpoint. For example, if you want to see all important tasks, call the following API<\/li>\n<\/ol>\n<pre class=\"prettyprint\">GET <a href=\"https:\/\/graph.microsoft.com\/beta\/me\/tasks\/AllTasks$filter=\" target=\"_blank\" rel=\"noopener\">https:\/\/graph.microsoft.com\/beta\/me\/tasks\/AllTasks$filter=<\/a>importance eq high<\/pre>\n<ol start=\"3\">\n<li>To get tasks in a particular list, you can call the following endpoint<\/li>\n<\/ol>\n<pre class=\"prettyprint\">GET <a href=\"https:\/\/graph.microsoft.com\/beta\/me\/tasks\/lists\/{list-id}\/tasks\" target=\"_blank\" rel=\"noopener\">https:\/\/graph.microsoft.com\/beta\/me\/tasks\/lists\/{list-id}\/tasks<\/a><\/pre>\n<p>For more details, check out the <a href=\"https:\/\/docs.microsoft.com\/en-us\/graph\/api\/resources\/tasks-overview?view=graph-rest-beta\" target=\"_blank\" rel=\"noopener\">documentation<\/a>.<\/p>\n<h3>What&#8217;s Next?<\/h3>\n<p>Our roadmap beyond the GA release of this API includes adding support for categories, attachments, and application permission.<\/p>\n<p>We can\u2019t wait for you to try out this API as we continue to work towards improving user productivity. For any feedback, suggestions or questions on the API, you can reach out through<a href=\"https:\/\/forms.office.com\/r\/WK1YZJN9M6\" target=\"_blank\" rel=\"noopener\"> this form<\/a>\u00a0or email us at <a href=\"mailto:todofeedback@microsoft.com\">todofeedback@microsoft.com<\/a>.<\/p>\n<p>Happy coding!<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>At Microsoft Ignite 2021, we announced our private preview for the new Tasks API in Microsoft Graph. Today, we\u2019re thrilled to announce the public preview of Tasks API on beta endpoint.<\/p>\n","protected":false},"author":69077,"featured_media":9157,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3],"tags":[156,209],"class_list":["post-9155","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-graph","tag-to-do-api","tag-to-do-tasks"],"acf":[],"blog_post_summary":"<p>At Microsoft Ignite 2021, we announced our private preview for the new Tasks API in Microsoft Graph. Today, we\u2019re thrilled to announce the public preview of Tasks API on beta endpoint.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/9155","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/users\/69077"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/comments?post=9155"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/9155\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media\/9157"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media?parent=9155"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=9155"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=9155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}