Table of Contents
Find out how you can use the Microsoft Graph API to connect to the data that drives productivity—mail, calendar, contacts, documents, directory, devices, and more.
API Overview
Microsoft Graph is a cloud-based platform that connects you to data and insights from Microsoft 365, Windows 10, and Enterprise Mobility + Security. It provides a unified endpoint to access data from multiple Microsoft services, including Exchange Online, SharePoint Online, OneDrive for Business, and Microsoft Teams. With Microsoft Graph, you can build applications that access user data, manage devices, and automate tasks across Microsoft services.
Microsoft Graph API overview: The Microsoft Graph API is a RESTful API that provides programmatic access to Microsoft Graph data. The API is documented using OpenAPI Specification (OAS), which provides a machine-readable description of the API's endpoints, parameters, and responses. The API supports a variety of authentication methods, including OAuth 2.0 and Azure Active Directory. Microsoft Graph also supports webhooks, which allow you to receive notifications when data changes. The API is subject to rate limits, which are designed to prevent excessive use of the service.
API Request Limits
Free
10,000 requests per day
Basic
100,000 requests per day
Standard
1,000,000 requests per day
Premium
2,000,000 requests per day
APIs
Method: get
Description: Get all drive.
Endpoint: drives
Parameters: select
Method: get
Description: Get the signed-in user.
Endpoint: me
Parameters: select
Method: post
Description: Create drive.
Endpoint: drives
Parameters: name
Method: get
Description: Get all users.
Endpoint: users
Parameters: select
Method: put
Description: Update the signed-in user.
Endpoint: me
Parameters: displayName
Method: put
Description: Update drive.
Endpoint: drives/{id}
Parameters: id, name, description, additionalData
Method: patch
Description: Update drive.
Endpoint: drives/{id}
Parameters: id, name, description, additionalData
Method: delete
Description: Delete drive.
Endpoint: drives/{id}
Parameters: id
Method: post
Description: Create user.
Endpoint: users
Parameters: accountEnabled, displayName, mailNickname, passwordProfile, userPrincipalName
Method: get
Description: Get drive by ID.
Endpoint: drives/{id}
Parameters: id, name, description, size
Method: get
Description: Get user by ID.
Endpoint: users/{id}
Parameters: id, displayName, mailNickname, userPrincipalName
Method: get
Description: Get all root children of a drive.
Endpoint: drives/{id}/root/children
Parameters: id
Method: patch
Description: Update the signed-in user.
Endpoint: me
Parameters: displayName
Method: put
Description: Update user.
Endpoint: users/{id}
Parameters: id, displayName, mailNickname, userPrincipalName
Method: patch
Description: Update user.
Endpoint: users/{id}
Parameters: id, displayName, mailNickname, userPrincipalName
Method: post
Description: Upload a file.
Endpoint: drives/{id}/root:/item/content
Parameters: id
Method: delete
Description: Delete file.
Endpoint: drives/{drive-id}/items/{item-id}
Parameters: drive-id, item-id
Method: delete
Description: Delete user.
Endpoint: users/{id}
Parameters: id
Method: get
Description: Get file by ID.
Endpoint: drives/{drive-id}/items/{item-id}
Parameters: drive-id, item-id
Method: get
Description: Get a list of all OneDrive files.
Endpoint: drive/root/children
Parameters: select
Method: get
Description: Get all shared items of a drive.
Endpoint: sharedWithMe
Parameters: id, name, description, size
Method: get
Description: Get all versions of a file.
Endpoint: drives/{drive-id}/items/{item-id}/versions
Parameters: drive-id, item-id
Method: post
Description: Create folder.
Endpoint: drives/{id}/root/children
Parameters: id, name, file
Method: get
Description: Get a list of all users.
Endpoint: users?$top=1000
Parameters: select
Method: get
Description: Get all calendars.
Endpoint: me/calendars
Parameters: id, name, description
Method: get
Description: Get all events.
Endpoint: me/events
Parameters: id, subject, body, start, end
Method: get
Description: List all drives.
Endpoint: drives
Parameters: id, name, description, size
Method: get
Description: Get all sites.
Endpoint: sites
Parameters: id, name, description
Method: get
Description: Get all teams.
Endpoint: me/teams
Parameters: id, displayName, description
Method: post
Description: Create share link.
Endpoint: drives/{id}/root:/item/microsoft.graph.createLink
Parameters: id
Method: get
Description: Get all groups.
Endpoint: groups
Parameters: id, displayName, description
Method: get
Description: Get all shared items of a drive.
Endpoint: drives/{id}/sharedWithMe?$top=1000
Parameters: id, name, description, size
Method: post
Description: Create event.
Endpoint: me/events
Parameters: subject, body, start, end, attendees
Method: get
Description: Get all mail folders.
Endpoint: me/mailFolders
Parameters: id, displayName
Method: get
Description: List all drives.
Endpoint: drives?$top=1000
Parameters: id, name, description, size
Method: get
Description: Get all files and folders in a folder.
Endpoint: drives/{id}/children
Parameters: id
Method: post
Description: Create folder.
Endpoint: me/mailFolders
Parameters: displayName
FAQ
How do I authenticate to Microsoft Graph?
You can authenticate to Microsoft Graph using OAuth 2.0. The most common method is to use the Azure AD v2.0 endpoint, which allows you to authenticate users and applications. You can also use the Microsoft identity platform endpoint, which is designed for consumer applications.
What are the rate limits for Microsoft Graph?
The rate limits for Microsoft Graph are designed to ensure that the service is available to all users. The default rate limit is 100 requests per minute, but you can request a higher limit by contacting Microsoft support.
What is the sandbox account?
The sandbox account is a development environment that allows you to test your Microsoft Graph applications without affecting production data. The sandbox account is available to all Microsoft developers.
How do I get a developer account?
You can get a developer account by creating a Microsoft account and then registering your application with the Microsoft identity platform.