Microsoft Exchange Mailbox Import API

Operations for importing content into mailboxes

Documentation

Specifications

Other Resources

OpenAPI Specification

microsoft-exchange-mailbox-import-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Microsoft Exchange Exchange Online Admin Accepted Domains Mailbox Import 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 Import
  description: Operations for importing content into mailboxes
paths:
  /users/{user-id}/mailboxes/{mailbox-id}/folders/{folder-id}/items/import:
    post:
      operationId: importMailboxItem
      summary: Microsoft Exchange Import item into folder
      description: Import a full-fidelity item into the specified mailbox folder. Accepts MIME content and creates the item preserving all properties and metadata. Used for mailbox migration and content copying scenarios.
      tags:
      - Mailbox Import
      parameters:
      - $ref: '#/components/parameters/UserIdParam'
      - $ref: '#/components/parameters/MailboxIdParam'
      - $ref: '#/components/parameters/FolderIdParam'
      requestBody:
        required: true
        content:
          message/rfc822:
            schema:
              type: string
              format: binary
              description: The MIME content of the item to import
      responses:
        '201':
          description: Successfully imported item
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailboxItem'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    MailboxIdParam:
      name: mailbox-id
      in: path
      required: true
      description: The unique identifier of the mailbox
      schema:
        type: string
    FolderIdParam:
      name: folder-id
      in: path
      required: true
      description: The unique identifier of the folder
      schema:
        type: string
    UserIdParam:
      name: user-id
      in: path
      required: true
      description: The unique identifier or user principal name
      schema:
        type: string
  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'
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ODataError'
  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
    MailboxItem:
      type: object
      description: An item in a mailbox folder
      properties:
        id:
          type: string
          readOnly: true
          description: The item unique identifier
        itemType:
          type: string
          enum:
          - message
          - event
          - contact
          - task
          description: The type of mailbox item
        subject:
          type: string
          description: The subject of the item
        createdDateTime:
          type: string
          format: date-time
          description: When the item was created
        lastModifiedDateTime:
          type: string
          format: date-time
          description: When the item was last modified
        size:
          type: integer
          description: Size of the item in bytes
        internetMessageId:
          type: string
          description: The Internet message ID (for messages)
        hasAttachments:
          type: boolean
          description: Whether the item has attachments
  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