Microsoft Exchange Mailbox Discovery API

Operations for discovering mailbox structure and content

Operations 2

GET /users/{user-id}/mailboxes Microsoft Exchange List mailboxes #
GET /users/{user-id}/mailboxes/{mailbox-id}/folders Microsoft Exchange List mailbox folders #

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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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.2.0
info:
  title: Microsoft Exchange Microsoft Graph Mailbox Import Export Mailbox Discovery API
  description: APIs for discovering, importing, and exporting content from Exchange Online mailboxes in full fidelity through the Microsoft Graph beta endpoint. Enables mailbox migration scenarios and content copying as a replacement for EWS-based approaches. Supports importing and exporting mailbox content including messages, calendar events, and contacts while preserving all metadata and properties.
  version: 0.1.0-beta
  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://graph.microsoft.com/beta
  description: Microsoft Graph beta endpoint (preview)
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:
  parameters:
    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
    TopParam:
      name: $top
      in: query
      description: Number of items to return
      schema:
        type: integer
        minimum: 1
    MailboxIdParam:
      name: mailbox-id
      in: path
      required: true
      description: The unique identifier of the mailbox
      schema:
        type: string
  schemas:
    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
    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
  responses:
    NotFound:
      description: Not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ODataError'
    Forbidden:
      description: Forbidden
      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:
            Mailbox.Import: Import content into mailboxes
            Mailbox.Export: Export content from mailboxes
            MailboxFolder.Read: Read mailbox folder information