Microsoft Graph · Schema
microsoft.graph.todoTask
Microsoft GraphAzure ADCollaborationContactsDocumentsEmailGraphIdentityMicrosoftOffice 365PresentationsProductivitySpreadsheetsT1Task
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/microsoft.graph.todoTask",
"title": "microsoft.graph.todoTask",
"allOf": [
{
"$ref": "#/components/schemas/microsoft.graph.entity"
},
{
"title": "todoTask",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"body": {
"anyOf": [
{
"$ref": "#/components/schemas/microsoft.graph.itemBody"
},
{
"type": "object",
"nullable": true
}
],
"description": "The task body that typically contains information about the task."
},
"bodyLastModifiedDateTime": {
"pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
"type": "string",
"description": "The date and time when the task body was last modified. By default, it is in UTC. You can provide a custom time zone in the request header. The property value uses ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2020 would look like this: '2020-01-01T00:00:00Z'.",
"format": "date-time"
},
"categories": {
"type": "array",
"items": {
"type": "string",
"nullable": true
},
"description": "The categories associated with the task. Each category corresponds to the displayName property of an outlookCategory that the user has defined."
},
"completedDateTime": {
"anyOf": [
{
"$ref": "#/components/schemas/microsoft.graph.dateTimeTimeZone"
},
{
"type": "object",
"nullable": true
}
],
"description": "The date and time in the specified time zone that the task was finished."
},
"createdDateTime": {
"pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
"type": "string",
"description": "The date and time when the task was created. By default, it is in UTC. You can provide a custom time zone in the request header. The property value uses ISO 8601 format. For example, midnight UTC on Jan 1, 2020 would look like this: '2020-01-01T00:00:00Z'.",
"format": "date-time"
},
"dueDateTime": {
"anyOf": [
{
"$ref": "#/components/schemas/microsoft.graph.dateTimeTimeZone"
},
{
"type": "object",
"nullable": true
}
],
"description": "The date and time in the specified time zone that the task is to be finished."
},
"hasAttachments": {
"type": "boolean",
"description": "Indicates whether the task has attachments.",
"nullable": true
},
"importance": {
"$ref": "#/components/schemas/microsoft.graph.importance"
},
"isReminderOn": {
"type": "boolean",
"description": "Set to true if an alert is set to remind the user of the task."
},
"lastModifiedDateTime": {
"pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
"type": "string",
"description": "The date and time when the task was last modified. By default, it is in UTC. You can provide a custom time zone in the request header. The property value uses ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2020 would look like this: '2020-01-01T00:00:00Z'.",
"format": "date-time"
},
"recurrence": {
"anyOf": [
{
"$ref": "#/components/schemas/microsoft.graph.patternedRecurrence"
},
{
"type": "object",
"nullable": true
}
],
"description": "The recurrence pattern for the task."
},
"reminderDateTime": {
"anyOf": [
{
"$ref": "#/components/schemas/microsoft.graph.dateTimeTimeZone"
},
{
"type": "object",
"nullable": true
}
],
"description": "The date and time in the specified time zone for a reminder alert of the task to occur."
},
"startDateTime": {
"anyOf": [
{
"$ref": "#/components/schemas/microsoft.graph.dateTimeTimeZone"
},
{
"type": "object",
"nullable": true
}
],
"description": "The date and time in the specified time zone at which the task is scheduled to start."
},
"status": {
"$ref": "#/components/schemas/microsoft.graph.taskStatus"
},
"title": {
"type": "string",
"description": "A brief description of the task.",
"nullable": true
},
"attachments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/microsoft.graph.attachmentBase"
},
"description": "A collection of file attachments for the task.",
"x-ms-navigationProperty": true
},
"attachmentSessions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/microsoft.graph.attachmentSession"
},
"x-ms-navigationProperty": true
},
"checklistItems": {
"type": "array",
"items": {
"$ref": "#/components/schemas/microsoft.graph.checklistItem"
},
"description": "A collection of checklistItems linked to a task.",
"x-ms-navigationProperty": true
},
"extensions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/microsoft.graph.extension"
},
"description": "The collection of open extensions defined for the task. Nullable.",
"x-ms-navigationProperty": true
},
"linkedResources": {
"type": "array",
"items": {
"$ref": "#/components/schemas/microsoft.graph.linkedResource"
},
"description": "A collection of resources linked to the task.",
"x-ms-navigationProperty": true
},
"@odata.type": {
"type": "string"
}
}
}
],
"x-ms-discriminator-value": "#microsoft.graph.todoTask"
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/microsoft-graph-microsoftgraphtodotask"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.