user: translateExchangeIds

Namespace: microsoft.graph

Translate identifiers of Outlook-related resources between formats.

This API is available in the following national cloud deployments.

Global service US Government L4 US Government L5 (DOD) China operated by 21Vianet

Permissions

Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.

Permission type Least privileged permissions Higher privileged permissions
Delegated (work or school account) User.ReadBasic.All User.Read, User.Read.All, User.ReadWrite, User.ReadWrite.All
Delegated (personal Microsoft account) User.Read User.ReadWrite
Application Not supported. Not supported.

HTTP request

POST /me/translateExchangeIds
POST /users/{id|userPrincipalName}/translateExchangeIds

Request headers

Name Value
Authorization Bearer {token}. Required. Learn more about authentication and authorization.

Request body

Parameter Type Description
inputIds String collection A collection of identifiers to convert. All identifiers in the collection MUST have the same source ID type, and MUST be for items in the same mailbox. Maximum size of this collection is 1000 strings.
sourceIdType exchangeIdFormat The ID type of the identifiers in the InputIds parameter.
targetIdType exchangeIdFormat The requested ID type to convert to.

exchangeIdFormat values

Member Description
entryId The binary entry ID format used by MAPI clients.
ewsId The ID format used by Exchange Web Services clients.
immutableEntryId The binary MAPI-compatible immutable ID format.
restId The default ID format used by Microsoft Graph.
restImmutableEntryId The immutable ID format used by Microsoft Graph.

The binary formats (entryId and immutableEntryId) are URL-safe base64 encoded. URL-safeness is implemented by modifying the base64 encoding of the binary data in the following way:

  • Replace + with -
  • Replace / with _
  • Remove any trailing padding characters (=)
  • Add an integer to the end of the string indicating how many padding characters were in the original (0, 1, or 2)

Response

If successful, this method returns 200 OK response code and a convertIdResult collection in the response body.

Example

The following example shows how to convert multiple identifiers from the normal REST API format (restId) to the REST immutable format (restImmutableEntryId).

Request

Here is the example request.

POST https://graph.microsoft.com/v1.0/me/translateExchangeIds
Content-Type: application/json

{
  "inputIds" : [
    "{rest-formatted-id-1}",
    "{rest-formatted-id-2}"
  ],
  "sourceIdType": "restId",
  "targetIdType": "restImmutableEntryId"
}

Response

Here is the example response

HTTP/1.1 200 OK
Content-type: application/json

{
  "value": [
    {
      "sourceId": "{rest-formatted-id-1}",
      "targetId": "{rest-immutable-formatted-id-1}"
    },
    {
      "sourceId": "{rest-formatted-id-2}",
      "targetId": "{rest-immutable-formatted-id-2}"
    }
  ]
}