Microsoft Exchange Mailbox Discovery API

Operations for discovering mailbox structure and content

Documentation

Specifications

Other Resources

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/microsoft-exchange-mailbox-discovery-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

microsoft-exchange-mailbox-discovery-api-openapi.yml Raw ↑
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