# Microsoft Graph API Reference ## Base URL ``` https://graph.microsoft.com/v1.0 ``` ## Authentication Bearer token in Authorization header: ``` Authorization: Bearer {access_token} ``` ## Mail Endpoints ### List folders ``` GET /me/mailFolders GET /me/mailFolders/{id}/childFolders ``` ### List messages ``` GET /me/mailFolders/{folder_id}/messages GET /me/messages?$filter=... ``` ### Get message ``` GET /me/messages/{id} ``` ### Send message ``` POST /me/sendMail { "message": { "subject": "...", "body": {"contentType": "Text", "content": "..."}, "toRecipients": [{"emailAddress": {"address": "..."}}] } } ``` ### Move message ``` POST /me/messages/{id}/move {"destinationId": "{folder_id}"} ``` ### Copy message ``` POST /me/messages/{id}/copy {"destinationId": "{folder_id}"} ``` ## OneDrive Endpoints ### List root ``` GET /me/drive/root/children ``` ### List folder ``` GET /me/drive/root:/{path}:/children ``` ### Get file content ``` GET /me/drive/items/{item_id}/content ``` ### Upload file ``` PUT /me/drive/root:/{path}:/content ``` ## Useful Query Parameters - `$top=N` - Limit results - `$skip=N` - Pagination offset - `$select=field1,field2` - Select specific fields - `$filter=field eq 'value'` - Filter results - `$orderby=field desc` - Sort results ## Rate Limits - 10,000 requests per 10 minutes per app - Throttled requests return 429 Too Many Requests