# OneDrive — File Storage API: overview

> Canonical URL: https://developers.apideck.com/apis/file-storage/onedrive/overview

Get 5 GB of free OneDrive cloud storage! Save your files and photos to OneDrive and access them from any device, anywhere.
- Status: live
- Authentication: oauth2

- **sandbox available:** true
- **rate limits:** Per app per tenant: 1,250 to 6,250 resource units/min (1 to 2 units per call), scaling with tenant size; HTTP 429/503 with Retry-After on excess
- **responsibility matrix:**   - **apideck:** Docs provided
  - **customer:** ✓ (or use Apideck credentials)
  - **area:** Register a multitenant app in Microsoft Entra ID
  - **customer:** ✓
  - **area:** Complete publisher verification
  - **customer:** ✓
  - **area:** Add Client ID and Client Secret in the Apideck Dashboard
  - **consumer:** ✓ (tenant admin, if the consent policy requires it)
  - **area:** Grant admin consent for the organisation
  - **area:** Authorize the connection and select a drive in Vault
  - **consumer:** ✓
  - **apideck:** ✓
  - **area:** Token refresh and credential storage
  - **area:** Register and renew webhook subscriptions
  - **apideck:** ✓ (automatic per connection)
  - **apideck:** ✓
  - **area:** Maintain the connector and unified File Storage API
- **apideck credentials available:** true
- **environment notes:**   - **environment:** Testing and production
  - **description:** OneDrive has no separate sandbox environment: the same Microsoft Entra app and the same Microsoft Graph endpoints serve testing and production, so keep them apart at the account level. Test against a free personal Microsoft account, a Microsoft 365 trial, your own tenant, or a Microsoft 365 E5 developer tenant if you qualify. Apideck's temporary shared test credentials are an option for an early look (request access via https://help.apideck.com/en/articles/7774658). Anything you write during testing lands in a real account, so use one that holds no production files.
- **consumer access level:** Any user with access to the drive they connect
- **partnership note:** No partner programme or contract. Publisher verification, via a Microsoft AI Cloud Partner Program account, is the only review step.
- **partnership url:** https://learn.microsoft.com/en-us/entra/identity-platform/publisher-verification-overview
- **apideck credentials note:** The Microsoft consent screen shows "Apideck". Use your own Microsoft Entra app in production.
- **webhooks:** Native — drive.updated only (a library-level change notification; per-file events are not emitted)
- **sandbox url:** https://developer.microsoft.com/microsoft-365/dev-program
- **partnership portal name:** Microsoft Entra publisher verification
- **costs:** None. App registration, publisher verification and standard Microsoft Graph calls are free.
- **difficulty reason:** Self-Service OAuth + Publisher Verification Needed for Cross-Tenant Consent
- **difficulty:** moderate
- **authentication note:** Authorization Code flow through Microsoft Entra ID.
- **partnership required:** false
- **account type required:** A personal Microsoft account with OneDrive, or a work or school account whose Microsoft 365 licence includes OneDrive
- **sandbox note:** A free personal Microsoft account gives you a OneDrive to test against; the Microsoft 365 E5 developer tenant (25 users) is eligibility-gated.
- **important to know:** Publisher verification is the hidden gate: since November 2020 Microsoft blocks users in other tenants from consenting to a new multitenant app that is not publisher verified. Plan for it before onboarding, including a publisher domain you own.
Many work and school tenants switch off user consent, so a tenant admin has to approve the app before anyone in that organisation can connect; plan for an admin-consent step in your onboarding.
A connection is pinned to one drive: after authorizing, the consumer can point it at a specific drive from a live list of their own drives; left unset, the account's default drive is used. A consumer with several drives, or shared libraries, needs one connection per drive.
Refresh tokens expire after 90 days without use, so a consumer whose integration is idle for three months has to re-authorise the connection.
- **supported resource categories:**   - **resources:** files
folders
  - **name:** Files & Folders
  - **name:** Drives
  - **resources:** drives
  - **resources:** upload-sessions
  - **name:** Uploads
- **external guides:**   - **title:** Register an application with the Microsoft identity platform
  - **url:** https://learn.microsoft.com/en-us/graph/auth-register-app-v2
  - **source:** Microsoft
  - **source:** Microsoft
  - **title:** Avoid getting throttled or blocked in SharePoint Online (OneDrive limits)
  - **url:** https://learn.microsoft.com/en-us/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online
  - **url:** https://learn.microsoft.com/en-us/office/developer-program/microsoft-365-developer-program-faq
  - **title:** Microsoft 365 Developer Program FAQ (sandbox eligibility)
  - **source:** Microsoft
  - **source:** Microsoft
  - **title:** Refresh tokens in the Microsoft identity platform
  - **url:** https://learn.microsoft.com/en-us/entra/identity-platform/refresh-tokens

## Supported resources

- **custom field support:** false
- **status:** live
- **id:** files
- **name:** Files
- **downstream name:** Files
- **downstream id:** files
- **id:** drives
- **name:** Drives
- **downstream name:** Drives
- **status:** live
- **custom field support:** false
- **downstream id:** drives
- **downstream id:** folders
- **custom field support:** false
- **id:** folders
- **downstream name:** Folders
- **status:** live
- **name:** Folders
- **downstream name:** Upload Sessions
- **custom field support:** false
- **name:** Upload Sessions
- **downstream id:** upload-sessions
- **status:** live
- **id:** upload-sessions

An omitted operation list does not establish operation support. Verify the selected operation in the coverage matrix.

[API reference](https://developers.apideck.com/apis/file-storage/reference.md) · [Coverage matrix](https://developers.apideck.com/apis/file-storage/coverage)
