Microsoft Graph · Schema

microsoft.graph.synchronizationJob

Microsoft GraphAzure ADCollaborationContactsDocumentsEmailGraphIdentityMicrosoftOffice 365PresentationsProductivitySpreadsheetsT1Task

Properties

Name Type Description
id string The unique identifier for an entity. Read-only.
@odata.type string
schedule object Schedule used to run the job. Read-only.
status object Status of the job, which includes when the job was last run, current job state, and errors.
synchronizationJobSettings array Settings associated with the job. Some settings are inherited from the template.
templateId stringnull Identifier of the synchronization template this job is based on.
bulkUpload object The bulk upload operation for the job.
schema object The synchronization schema configured for the job.
View JSON Schema on GitHub

JSON Schema

microsoft-graph-microsoft-graph-synchronization-job-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-graph/json-schema/microsoft-graph-microsoft-graph-synchronization-job-schema.json",
  "title": "microsoft.graph.synchronizationJob",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-graph-applications-synchronization-api-openapi.yml#/components/schemas/microsoft.graph.synchronizationJob",
  "allOf": [
    {
      "$ref": "#/$defs/microsoft.graph.entity"
    },
    {
      "title": "synchronizationJob",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "schedule": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.synchronizationSchedule"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Schedule used to run the job. Read-only."
        },
        "status": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.synchronizationStatus"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Status of the job, which includes when the job was last run, current job state, and errors."
        },
        "synchronizationJobSettings": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.keyValuePair"
          },
          "description": "Settings associated with the job. Some settings are inherited from the template."
        },
        "templateId": {
          "type": [
            "string",
            "null"
          ],
          "description": "Identifier of the synchronization template this job is based on."
        },
        "bulkUpload": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.bulkUpload"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "The bulk upload operation for the job.",
          "x-ms-navigationProperty": true
        },
        "schema": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.synchronizationSchema"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "The synchronization schema configured for the job.",
          "x-ms-navigationProperty": true
        },
        "@odata.type": {
          "type": "string"
        }
      }
    }
  ],
  "x-ms-discriminator-value": "#microsoft.graph.synchronizationJob",
  "$defs": {
    "microsoft.graph.attributeDefinition": {
      "title": "attributeDefinition",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "anchor": {
          "type": "boolean",
          "description": "true if the attribute should be used as the anchor for the object. Anchor attributes must have a unique value identifying an object, and must be immutable. Default is false. One, and only one, of the object's attributes must be designated as the anchor to support synchronization."
        },
        "apiExpressions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.stringKeyStringValuePair"
          }
        },
        "caseExact": {
          "type": "boolean",
          "description": "true if value of this attribute should be treated as case-sensitive. This setting affects how the synchronization engine detects changes for the attribute."
        },
        "defaultValue": {
          "type": [
            "string",
            "null"
          ],
          "description": "The default value of the attribute."
        },
        "flowNullValues": {
          "type": "boolean",
          "description": "'true' to allow null values for attributes."
        },
        "metadata": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.attributeDefinitionMetadataEntry"
          },
          "description": "Metadata for the given object."
        },
        "multivalued": {
          "type": "boolean",
          "description": "true if an attribute can have multiple values. Default is false."
        },
        "mutability": {
          "$ref": "#/$defs/microsoft.graph.mutability"
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name of the attribute. Must be unique within the object definition. Not nullable."
        },
        "referencedObjects": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.referencedObject"
          },
          "description": "For attributes with reference type, lists referenced objects (for example, the manager attribute would list User as the referenced object)."
        },
        "required": {
          "type": "boolean",
          "description": "true if attribute is required. Object can not be created if any of the required attributes are missing. If during synchronization, the required attribute has no value, the default value will be used. If default the value was not set, synchronization will record an error."
        },
        "type": {
          "$ref": "#/$defs/microsoft.graph.attributeType"
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.attributeDefinitionMetadata": {
      "title": "attributeDefinitionMetadata",
      "enum": [
        "BaseAttributeName",
        "ComplexObjectDefinition",
        "IsContainer",
        "IsCustomerDefined",
        "IsDomainQualified",
        "LinkPropertyNames",
        "LinkTypeName",
        "MaximumLength",
        "ReferencedProperty"
      ],
      "type": "string"
    },
    "microsoft.graph.attributeDefinitionMetadataEntry": {
      "title": "attributeDefinitionMetadataEntry",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "key": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.attributeDefinitionMetadata"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "The possible values are: BaseAttributeName, ComplexObjectDefinition, IsContainer, IsCustomerDefined, IsDomainQualified, LinkPropertyNames, LinkTypeName, MaximumLength, ReferencedProperty."
        },
        "value": {
          "type": [
            "string",
            "null"
          ],
          "description": "Value of the metadata property."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.attributeFlowBehavior": {
      "title": "attributeFlowBehavior",
      "enum": [
        "FlowWhenChanged",
        "FlowAlways"
      ],
      "type": "string"
    },
    "microsoft.graph.attributeFlowType": {
      "title": "attributeFlowType",
      "enum": [
        "Always",
        "ObjectAddOnly",
        "MultiValueAddOnly",
        "ValueAddOnly",
        "AttributeAddOnly"
      ],
      "type": "string"
    },
    "microsoft.graph.attributeMapping": {
      "title": "attributeMapping",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "defaultValue": {
          "type": [
            "string",
            "null"
          ],
          "description": "Default value to be used in case the source property was evaluated to null. Optional."
        },
        "exportMissingReferences": {
          "type": "boolean",
          "description": "For internal use only."
        },
        "flowBehavior": {
          "$ref": "#/$defs/microsoft.graph.attributeFlowBehavior"
        },
        "flowType": {
          "$ref": "#/$defs/microsoft.graph.attributeFlowType"
        },
        "matchingPriority": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": "number",
          "description": "If higher than 0, this attribute will be used to perform an initial match of the objects between source and target directories. The synchronization engine will try to find the matching object using attribute with lowest value of matching priority first. If not found, the attribute with the next matching priority will be used, and so on a until match is found or no more matching attributes are left. Only attributes that are expected to have unique values, such as email, should be used as matching attributes.",
          "format": "int32"
        },
        "source": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.attributeMappingSource"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Defines how a value should be extracted (or transformed) from the source object."
        },
        "targetAttributeName": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name of the attribute on the target object."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.attributeMappingSource": {
      "title": "attributeMappingSource",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "expression": {
          "type": [
            "string",
            "null"
          ],
          "description": "Equivalent expression representation of this attributeMappingSource object."
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name parameter of the mapping source. Depending on the type property value, this can be the name of the function, the name of the source attribute, or a constant value to be used."
        },
        "parameters": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.stringKeyAttributeMappingSourceValuePair"
          },
          "description": "If this object represents a function, lists function parameters. Parameters consist of attributeMappingSource objects themselves, allowing for complex expressions. If type isn't Function, this property is null/empty array."
        },
        "type": {
          "$ref": "#/$defs/microsoft.graph.attributeMappingSourceType"
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.attributeMappingSourceType": {
      "title": "attributeMappingSourceType",
      "enum": [
        "Attribute",
        "Constant",
        "Function"
      ],
      "type": "string"
    },
    "microsoft.graph.attributeType": {
      "title": "attributeType",
      "enum": [
        "String",
        "Integer",
        "Reference",
        "Binary",
        "Boolean",
        "DateTime"
      ],
      "type": "string"
    },
    "microsoft.graph.bulkUpload": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "bulkUpload",
          "required": [
            "@odata.type"
          ],
          "type": "object",
          "properties": {
            "@odata.type": {
              "type": "string"
            }
          }
        }
      ],
      "x-ms-discriminator-value": "#microsoft.graph.bulkUpload"
    },
    "microsoft.graph.containerFilter": {
      "title": "containerFilter",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "includedContainers": {
          "type": "array",
          "items": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.directoryDefinition": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "directoryDefinition",
          "required": [
            "@odata.type"
          ],
          "type": "object",
          "properties": {
            "discoverabilities": {
              "$ref": "#/$defs/microsoft.graph.directoryDefinitionDiscoverabilities"
            },
            "discoveryDateTime": {
              "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",
                "null"
              ],
              "description": "Represents the discovery date and time using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.",
              "format": "date-time"
            },
            "name": {
              "type": [
                "string",
                "null"
              ],
              "description": "Name of the directory. Must be unique within the synchronization schema. Not nullable."
            },
            "objects": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.objectDefinition"
              },
              "description": "Collection of objects supported by the directory."
            },
            "readOnly": {
              "type": "boolean",
              "description": "Whether this object is read-only."
            },
            "version": {
              "type": [
                "string",
                "null"
              ],
              "description": "Read only value that indicates version discovered. null if discovery hasn't yet occurred."
            },
            "@odata.type": {
              "type": "string"
            }
          }
        }
      ],
      "x-ms-discriminator-value": "#microsoft.graph.directoryDefinition"
    },
    "microsoft.graph.directoryDefinitionDiscoverabilities": {
      "title": "directoryDefinitionDiscoverabilities",
      "enum": [
        "None",
        "AttributeNames",
        "AttributeDataTypes",
        "AttributeReadOnly",
        "ReferenceAttributes",
        "UnknownFutureValue"
      ],
      "type": "string",
      "x-ms-enum-flags": {
        "isFlags": true
      }
    },
    "microsoft.graph.entity": {
      "title": "entity",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier for an entity. Read-only."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.filter": {
      "title": "filter",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "categoryFilterGroups": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.filterGroup"
          },
          "description": "*Experimental* Filter group set used to decide whether given object belongs and should be processed as part of this object mapping. An object is considered in scope if ANY of the groups in the collection is evaluated to true."
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.filterGroup"
          },
          "description": "Filter group set used to decide whether given object is in scope for provisioning. This is the filter which should be used in most cases. If an object used to satisfy this filter at a given moment, and then the object or the filter was changed so that filter isn't satisfied any longer, such object will get deprovisioned'. An object is considered in scope if ANY of the groups in the collection is evaluated to true."
        },
        "inputFilterGroups": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.filterGroup"
          },
          "description": "*Experimental* Filter group set used to filter out objects at the early stage of reading them from the directory. If an object doesn't satisfy this filter, then it will not be processed further. Important to understand is that if an object used to satisfy this filter at a given moment, and then the object or the filter was changed so that filter is no longer satisfied, such object will NOT get deprovisioned. An object is considered in scope if ANY of the groups in the collection is evaluated to true."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.filterClause": {
      "title": "filterClause",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "operatorName": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name of the operator to be applied to the source and target operands. Must be one of the supported operators. Supported operators can be discovered."
        },
        "sourceOperandName": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name of source operand (the operand being tested). The source operand name must match one of the attribute names on the source object."
        },
        "targetOperand": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.filterOperand"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Values that the source operand will be tested against."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.filterGroup": {
      "title": "filterGroup",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "clauses": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.filterClause"
          },
          "description": "Filter clauses (conditions) of this group. All clauses in a group must be satisfied in order for the filter group to evaluate to true."
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "Human-readable name of the filter group."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.filterOperand": {
      "title": "filterOperand",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "values": {
          "type": "array",
          "items": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": "Collection of values."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.groupFilter": {
      "title": "groupFilter",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "includedGroups": {
          "type": "array",
          "items": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.keyValuePair": {
      "title": "keyValuePair",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name for this key-value pair"
        },
        "value": {
          "type": [
            "string",
            "null"
          ],
          "description": "Value for this key-value pair"
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.mutability": {
      "title": "mutability",
      "enum": [
        "ReadWrite",
        "ReadOnly",
        "Immutable",
        "WriteOnly"
      ],
      "type": "string"
    },
    "microsoft.graph.objectDefinition": {
      "title": "objectDefinition",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "attributes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.attributeDefinition"
          },
          "description": "Defines attributes of the object."
        },
        "metadata": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.objectDefinitionMetadataEntry"
          },
          "description": "Metadata for the given object."
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name of the object. Must be unique within a directory definition. Not nullable."
        },
        "supportedApis": {
          "type": "array",
          "items": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": "The API that the provisioning service queries to retrieve data for synchronization."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.objectDefinitionMetadata": {
      "title": "objectDefinitionMetadata",
      "enum": [
        "PropertyNameAccountEnabled",
        "PropertyNameSoftDeleted",
        "IsSoftDeletionSupported",
        "IsSynchronizeAllSupported",
        "ConnectorDataStorageRequired",
        "Extensions",
        "BaseObjectName"
      ],
      "type": "string"
    },
    "microsoft.graph.objectDefinitionMetadataEntry": {
      "title": "objectDefinitionMetadataEntry",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "key": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.objectDefinitionMetadata"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "The possible values are: PropertyNameAccountEnabled, PropertyNameSoftDeleted, IsSoftDeletionSupported, IsSynchronizeAllSupported, ConnectorDataStorageRequired, Extensions, LinkTypeName."
        },
        "value": {
          "type": [
            "string",
            "null"
          ],
          "description": "Value of the metadata property."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.objectFlowTypes": {
      "title": "objectFlowTypes",
      "enum": [
        "None",
        "Add",
        "Update",
        "Delete"
      ],
      "type": "string",
      "x-ms-enum-flags": {
        "isFlags": true
      }
    },
    "microsoft.graph.objectMapping": {
      "title": "objectMapping",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "attributeMappings": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.attributeMapping"
          },
          "description": "Attribute mappings define which attributes to map from the source object into the target object and how they should flow. A number of functions are available to support the transformation of the original source values."
        },
        "enabled": {
          "type": "boolean",
          "description": "When true, this object mapping will be processed during synchronization. When false, this object mapping will be skipped."
        },
        "flowTypes": {
          "$ref": "#/$defs/microsoft.graph.objectFlowTypes"
        },
        "metadata": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.objectMappingMetadataEntry"
          },
          "description": "Additional extension properties. Unless mentioned explicitly, metadata values should not be changed."
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "Human-friendly name of the object mapping."
        },
        "scope": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.filter"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Defines a filter to be used when deciding whether a given object should be provisioned. For example, you might want to only provision users that are located in the US."
        },
        "sourceObjectName": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name of the object in the source directory. Must match the object name from the source directory definition."
        },
        "targetObjectName": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name of the object in target directory. Must match the object name from the target directory definition."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.objectMappingMetadata": {
      "title": "objectMappingMetadata",
      "enum": [
        "EscrowBehavior",
        "DisableMonitoringForChanges",
        "OriginalJoiningProperty",
        "Disposition",
        "IsCustomerDefined",
        "ExcludeFromReporting",
        "Unsynchronized"
      ],
      "type": "string"
    },
    "microsoft.graph.objectMappingMetadataEntry": {
      "title": "objectMappingMetadataEntry",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "key": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.objectMappingMetadata"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "The possible values are: EscrowBehavior, DisableMonitoringForChanges, OriginalJoiningProperty, Disposition, IsCustomerDefined, ExcludeFromReporting, Unsynchronized."
        },
        "value": {
          "type": [
            "string",
            "null"
          ],
          "description": "Value of the metadata property."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.quarantineReason": {
      "title": "quarantineReason",
      "enum": [
        "EncounteredBaseEscrowThreshold",
        "EncounteredTotalEscrowThreshold",
        "EncounteredEscrowProportionThreshold",
        "EncounteredQuarantineException",
        "Unknown",
        "QuarantinedOnDemand",
        "TooManyDeletes",
        "IngestionInterrupted"
      ],
      "type": "string"
    },
    "microsoft.graph.referencedObject": {
      "title": "referencedObject",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "referencedObjectName": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name of the referenced object. Must match one of the objects in the directory definition."
        },
        "referencedProperty": {
          "type": [
            "string",
            "null"
          ],
          "description": "Currently not supported. Name of the property in the referenced object, the value for which is used as the reference."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.stringKeyAttributeMappingSourceValuePair": {
      "title": "stringKeyAttributeMappingSourceValuePair",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "key": {
          "type": [
            "string",
            "null"
          ],
          "description": "The name of the parameter."
        },
        "value": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.attributeMappingSource"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "The value of the parameter."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.stringKeyLongValuePair": {
      "title": "stringKeyLongValuePair",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "key": {
          "type": [
            "string",
            "null"
          ],
          "description": "The mapping of the user type from the source system to the target system. For example:User to User - For Microsoft Entra ID to Microsoft Entra ID synchronization worker to user - For Workday to Microsoft Entra synchronization."
        },
        "value": {
          "type": "number",
          "description": "Total number of synchronized objects.",
          "format": "int64"
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.stringKeyStringValuePair": {
      "title": "stringKeyStringValuePair",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "key": {
          "type": [
            "string",
            "null"
          ],
          "description": "Key."
        },
        "value": {
          "type": [
            "string",
            "null"
          ],
          "description": "Value."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.synchronizationError": {
      "title": "synchronizationError",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "code": {
          "type": [
            "string",
            "null"
          ],
          "description": "The error code. For example, AzureDirectoryB2BManagementPolicyCheckFailure."
        },
        "message": {
          "type": [
            "string",
            "null"
          ],
          "description": "The error message. For example, Policy permitting auto-redemption of invitations not configured."
        },
        "tenantActionable": {
          "type": "boolean",
          "description": "The action to take to resolve the error. For example, false."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.synchronizationProgress": {
      "title": "synchronizationProgress",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "completedUnits": {
          "type": "number",
          "description": "The numerator of a progress ratio; the number of units of changes already processed.",
          "format": "int64"
        },
        "progressObservationDateTime": {
          "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 time of a progress observation as an offset in minutes from UTC.",
          "format": "date-time"
        },
        "totalUnits": {
          "type": "number",
          "description": "The denominator of a progress ratio; a number of units of changes to be processed to accomplish synchronization.",
          "format": "int64"
        },
        "units": {
          "type": [
            "string",
            "null"
          ],
          "description": "An optional description of the units."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.synchronizationQuarantine": {
      "title": "synchronizationQuarantine",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "currentBegan": {
          "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": "Date and time when the quarantine was last evaluated and imposed

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://artifacts.apis.io/microsoft-graph/json-schema/microsoft-graph-microsoft-graph-synchronization-job-schema.json

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/microsoft-graph-microsoft-graph-synchronization-job"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.