Access the Microsoft To Do API with managed OAuth authentication. Manage task lists, tasks, checklist items, and linked resources with full CRUD operations.
Reference
List Task Lists
GET /microsoft-to-do/v1.0/me/todo/listsResponse:
{
"value": [
{
"id": "AAMkADIyAAAhrbPWAAA=",
"displayName": "Tasks",
"isOwner": true,
"isShared": false,
"wellknownListName": "defaultList"
}
]
}Get Task List
GET /microsoft-to-do/v1.0/me/todo/lists/{todoTaskListId}Create Task List
POST /microsoft-to-do/v1.0/me/todo/lists
Content-Type: application/json
{
"displayName": "Travel items"
}Response (201 Created):
{
"id": "AAMkADIyAAAhrbPWAAA=",
"displayName": "Travel items",
"isOwner": true,
"isShared": false,
"wellknownListName": "none"
}Update Task List
PATCH /microsoft-to-do/v1.0/me/todo/lists/{todoTaskListId}
Content-Type: application/json
{
"displayName": "Vacation Plan"
}Delete Task List
DELETE /microsoft-to-do/v1.0/me/todo/lists/{todoTaskListId}Returns 204 No Content on success.
List Tasks
GET /microsoft-to-do/v1.0/me/todo/lists/{todoTaskListId}/tasksResponse:
{
"value": [
{
"id": "AlMKXwbQAAAJws6wcAAAA=",
"title": "Buy groceries",
"status": "notStarted",
"importance": "normal",
"isReminderOn": false,
"createdDateTime": "2024-01-15T10:00:00Z",
"lastModifiedDateTime": "2024-01-15T10:00:00Z",
"body": {
"content": "",
"contentType": "text"
},
"categories": []
}
]
}Get Task
GET /microsoft-to-do/v1.0/me/todo/lists/{todoTaskListId}/tasks/{taskId}Create Task
POST /microsoft-to-do/v1.0/me/todo/lists/{todoTaskListId}/tasks
Content-Type: application/json
{
"title": "A new task",
"importance": "high",
"status": "notStarted",
"categories": ["Important"],
"dueDateTime": {
"dateTime": "2024-12-31T17:00:00",
"timeZone": "Eastern Standard Time"
},
"startDateTime": {
"dateTime": "2024-12-01T08:00:00",
"timeZone": "Eastern Standard Time"
},
"isReminderOn": true,
"reminderDateTime": {
"dateTime": "2024-12-01T09:00:00",
"timeZone": "Eastern Standard Time"
},
"body": {
"content": "Task details here",
"contentType": "text"
}
}Task Fields:
| Field | Type | Description |
|---|---|---|
title | String | Brief description of the task |
body | itemBody | Task body with content and contentType (text/html) |
importance | String | low, normal, or high |
status | String | notStarted, inProgress, completed, waitingOnOthers, deferred |
categories | String[] | Associated category names |
dueDateTime | dateTimeTimeZone | Due date and time |
startDateTime | dateTimeTimeZone | Start date and time |
completedDateTime | dateTimeTimeZone | Completion date and time |
reminderDateTime | dateTimeTimeZone | Reminder date and time |
isReminderOn | Boolean | Whether reminder is enabled |
recurrence | patternedRecurrence | Recurrence pattern |
Update Task
PATCH /microsoft-to-do/v1.0/me/todo/lists/{todoTaskListId}/tasks/{taskId}
Content-Type: application/json
{
"status": "completed",
"completedDateTime": {
"dateTime": "2024-01-20T15:00:00",
"timeZone": "UTC"
}
}Delete Task
DELETE /microsoft-to-do/v1.0/me/todo/lists/{todoTaskListId}/tasks/{taskId}Returns 204 No Content on success.
List Checklist Items
GET /microsoft-to-do/v1.0/me/todo/lists/{todoTaskListId}/tasks/{taskId}/checklistItemsResponse:
{
"value": [
{
"id": "51d8a471-2e9d-4f53-9937-c33a8742d28f",
"displayName": "Create draft",
"createdDateTime": "2024-01-17T05:22:14Z",
"isChecked": false
}
]
}Create Checklist Item
POST /microsoft-to-do/v1.0/me/todo/lists/{todoTaskListId}/tasks/{taskId}/checklistItems
Content-Type: application/json
{
"displayName": "Final sign-off from the team"
}Update Checklist Item
PATCH /microsoft-to-do/v1.0/me/todo/lists/{todoTaskListId}/tasks/{taskId}/checklistItems/{checklistItemId}
Content-Type: application/json
{
"isChecked": true
}Delete Checklist Item
DELETE /microsoft-to-do/v1.0/me/todo/lists/{todoTaskListId}/tasks/{taskId}/checklistItems/{checklistItemId}Returns 204 No Content on success.
List Linked Resources
GET /microsoft-to-do/v1.0/me/todo/lists/{todoTaskListId}/tasks/{taskId}/linkedResourcesResponse:
{
"value": [
{
"id": "f9cddce2-dce2-f9cd-e2dc-cdf9e2dccdf9",
"webUrl": "https://example.com/item",
"applicationName": "MyApp",
"displayName": "Related Document",
"externalId": "external-123"
}
]
}Create Linked Resource
POST /microsoft-to-do/v1.0/me/todo/lists/{todoTaskListId}/tasks/{taskId}/linkedResources
Content-Type: application/json
{
"webUrl": "https://example.com/item",
"applicationName": "MyApp",
"displayName": "Related Document",
"externalId": "external-123"
}Delete Linked Resource
DELETE /microsoft-to-do/v1.0/me/todo/lists/{todoTaskListId}/tasks/{taskId}/linkedResources/{linkedResourceId}Returns 204 No Content on success.