openapi: 3.1.0 info: title: Microsoft Exchange Exchange Online Admin Accepted Domains Mailbox Discovery API description: REST-based administrative API that enables a focused set of Exchange cmdlets and parameters as POST-only endpoints. Provides access to key tasks previously available through Exchange Web Services (EWS), including organization configuration, accepted domains, mailbox properties, mailbox folder permissions, and distribution group membership. Built as a complementary REST-first surface for specific administrative tasks caused by the EWS deprecation planned for October 2026. version: 2.0.0 contact: name: Microsoft Support url: https://support.microsoft.com email: support@microsoft.com license: name: Microsoft API License url: https://www.microsoft.com/en-us/legal/terms-of-use x-date-modified: '2026-03-04' servers: - url: https://outlook.office365.com/adminapi/v2.0 description: Exchange Online Admin API v2.0 endpoint security: - oauth2: [] tags: - name: Mailbox Discovery description: Operations for discovering mailbox structure and content paths: /users/{user-id}/mailboxes: get: operationId: listMailboxes summary: Microsoft Exchange List mailboxes description: Discover the mailboxes associated with a user, including primary mailbox and archive mailbox information. Returns mailbox metadata needed for import and export operations. tags: - Mailbox Discovery parameters: - $ref: '#/components/parameters/UserIdParam' responses: '200': description: Successfully retrieved mailbox information content: application/json: schema: type: object properties: '@odata.context': type: string value: type: array items: $ref: '#/components/schemas/Mailbox' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /users/{user-id}/mailboxes/{mailbox-id}/folders: get: operationId: listMailboxFolders summary: Microsoft Exchange List mailbox folders description: List all folders in the specified mailbox for content discovery. Returns folder hierarchy with metadata needed for targeted import and export operations. tags: - Mailbox Discovery parameters: - $ref: '#/components/parameters/UserIdParam' - $ref: '#/components/parameters/MailboxIdParam' - $ref: '#/components/parameters/TopParam' - $ref: '#/components/parameters/SkipParam' responses: '200': description: Successfully retrieved mailbox folders content: application/json: schema: type: object properties: '@odata.context': type: string '@odata.nextLink': type: string format: uri value: type: array items: $ref: '#/components/schemas/MailboxFolder' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' components: schemas: Mailbox: type: object description: Represents a user's mailbox properties: id: type: string readOnly: true description: The mailbox unique identifier mailboxType: type: string enum: - primary - archive description: The type of mailbox displayName: type: string description: Display name of the mailbox primarySmtpAddress: type: string format: email description: The primary SMTP address of the mailbox totalItemCount: type: integer description: Total number of items in the mailbox totalItemSize: type: integer description: Total size of all items in bytes MailboxFolder: type: object description: A folder in a mailbox properties: id: type: string readOnly: true description: The folder unique identifier displayName: type: string description: Display name of the folder parentFolderId: type: string description: The ID of the parent folder folderType: type: string description: The type of folder (e.g. inbox, calendar, contacts) childFolderCount: type: integer description: Number of child folders totalItemCount: type: integer description: Total items in the folder unreadItemCount: type: integer description: Number of unread items ODataError: type: object description: OData error response properties: error: type: object properties: code: type: string message: type: string innerError: type: object properties: request-id: type: string date: type: string format: date-time parameters: MailboxIdParam: name: mailbox-id in: path required: true description: The unique identifier of the mailbox schema: type: string TopParam: name: $top in: query description: Number of items to return schema: type: integer minimum: 1 UserIdParam: name: user-id in: path required: true description: The unique identifier or user principal name schema: type: string SkipParam: name: $skip in: query description: Number of items to skip schema: type: integer minimum: 0 responses: Forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ODataError' NotFound: description: Not found content: application/json: schema: $ref: '#/components/schemas/ODataError' Unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ODataError' securitySchemes: oauth2: type: oauth2 description: OAuth 2.0 authorization with Microsoft identity platform flows: clientCredentials: tokenUrl: https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token scopes: https://outlook.office365.com/.default: Default scope for Exchange Online Admin API