---
schema_version: "1"
id: 61b9713029ebbbd3265a348c8397bd9db237a674eb4a1e6c0ede691eb2bd29ba
title: Platform
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/marketing-cloud/references/generated-api-specs/mc_rest_platform.md
canonical_url: https://developer.salesforce.com/docs/marketing/marketing-cloud/references/mc_rest_platform
source_site: developer.salesforce.com
content_type: documentation
content_hash: 0631b7ac195da0d1c51382b8ed7bce3a74ac66752de607e53866359c0cabf0c2
products:
  - Marketing Cloud Engagement APIs and Programmatic Languages
  - Marketing Cloud
---
Platform

# Platform

Use the platform endpoints to manage and retrieve platform information related to your Marketing Cloud Engagement accounts.

This table lists the use cases that the platform API supports.

| Supported Use Case | HTTP Verb | URI |
| --- | --- | --- |
| Get account settings | [GET](/docs/marketing/marketing-cloud/references/mc_rest_platform?meta=Get%2BAccount%2BSettings) | /platform/v1/settings |
| Get endpoints | [GET](/docs/marketing/marketing-cloud/references/mc_rest_platform?meta=Get%2BEndpoints) | /platform/v1/endpoints |
| Get endpoint | [GET](/docs/marketing/marketing-cloud/references/mc_rest_platform?meta=Get%2BEndpoint) | /platform/v1/endpoints/{endpointType} |
| Get encryption keys | [GET](/docs/marketing/marketing-cloud/references/mc_rest_platform?meta=Get%2BEncryption%2BKeys) | /platform/v1/key |
| Create an encryption key | [POST](/docs/marketing/marketing-cloud/references/mc_rest_platform?meta=Create%2Ban%2BEncryption%2BKey) | /platform/v1/key |
| Retrieve an encryption key by ID | [GET](/docs/marketing/marketing-cloud/references/mc_rest_platform?meta=Retrieve%2Ban%2BEncryption%2BKey%2Bby%2BID) | /platform/v1/key/{keyId} |
| Delete an encryption key | [DELETE](/docs/marketing/marketing-cloud/references/mc_rest_platform?meta=Delete%2Ban%2BEncryption%2BKey) | /platform/v1/key/{keyId} |
| Get key types | [GET](/docs/marketing/marketing-cloud/references/mc_rest_platform?meta=Get%2BKey%2BTypes) | /platform/v1/key/type |
| Get authentication token information | [GET](/docs/marketing/marketing-cloud/references/mc_rest_platform?meta=Get%2BAuthentication%2BToken%2BInformation) | /platform/v1/tokenContext |
| Get a wrapping key | [GET](/docs/marketing/marketing-cloud/references/mc_rest_platform?meta=Get%2Ba%2BWrapping%2BKey) | /platform/v1/wrappingKey |
| Rotate an encryption key | [PUT](/docs/marketing/marketing-cloud/references/mc_rest_platform?meta=Rotate%2Ban%2BEncryption%2BKey) | /platform/v1/dataencryption/rotateasync |

Append the operation endpoint addresses to this base URL, replacing `{subdomain}` with the unique subdomain for your Marketing Cloud Engagement tenant:

**Version:** 1

## Servers

*   `https://{subdomain}.rest.marketingcloudapis.com`
    *   `subdomain (default None) The unique API subdomain for your Marketing Cloud Engagement tenant. You can find this value in the Installed Packages section of Marketing Cloud Engagement Setup.`

## Operations

### GET Retrieve information about settings that apply to your account.

`GET /platform/v1/settings`

Operation ID: `Get Account Settings`.

Retrieves the status of the [Einstein Data Pooling](https://help.salesforce.com/s/articleView?id=mktg.mc_anb_einstein_sto_global_data_model.htm) business rule in Marketing Cloud Engagement. To retrieve the status for a specific account, use the `account_id` parameter in your authentication token request so that the token is scoped to that account. See [Access Token for Server-to-Server Integrations](/docs/marketing/marketing-cloud/guide/access-token-s2s.html).

To retrieve the status of this business rule for all business units in an enterprise, include the `entire_enterprise=true` query parameter.

This operation doesn’t support filtering, sorting, or pagination. You can issue up to 20 requests to this endpoint per hour.

This endpoint isn’t enabled by default. To enable it for your account, contact your Salesforce account executive.

Required Permission Scopes

  

To execute this operation, you must have the `Account | View` permission. To use the `entire_enterprise` option, you must also have the `AccountUser | View` permission.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `entire_enterprise` (query, boolean) Determines whether information is retrieved for all business units. If the value is `true`, the response includes information for all business units that belong to the Enterprise account. The default value is `false`.

#### Responses

*   **200** Returns a list of the settings that apply to the Marketing Cloud Engagement account specified by the current session’s API authentication token.
    
    Media type: `application/json`. Schema: `accountSettingsResponseBody`.
    
    _Example: Response with entire\_enterprise=true query parameter_
    
    ```
    [
      {
        "displayname": "Einstein Data Pooling",
        "description": "Opt out of data pooling to prevent user data from being co-mingled with other accounts to train models used in Einstein features.",
        "value": "Enabled",
        "account_id": "12345678",
        "childBUValues": [
          {
            "value": "Enabled",
            "account_id": "12345679"
          },
          {
            "value": "Disabled",
            "account_id": "12345680"
          },
          {
            "value": "Disabled",
            "account_id": "12345681"
          }
        ]
      }
    ]
    ```
    
    _Example: Response with entire\_enterprise=false query parameter_
    
    ```
    [
      {
        "displayname": "Einstein Data Pooling",
        "description": "Opt out of data pooling to prevent user data from being co-mingled with other accounts to train models used in Einstein features.",
        "value": "Enabled",
        "account_id": "12345678"
      }
    ]
    ```
    
*   **400** Indicates that your request contained errors that prevented the validation process. When you receive a 400 response, verify that the request syntax is accurate.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "JSON Deserialization Exception: Location Unknown",
      "errorcode": 10004,
      "documentation": ""
    }
    ```
    
*   **401** Indicates that Marketing Cloud Engagement wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Found"
    }
    ```
    
*   **500** Indicates that Marketing Cloud Engagement encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

### GET Retrieve a list of endpoints for Marketing Cloud Engagement services, such as the authentication, REST API, SOAP API, and FTP servers.

`GET /platform/v1/endpoints`

Operation ID: `Get Endpoints`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    

#### Responses

*   **200** Returns a list of endpoints for Marketing Cloud Engagement services.
    
    Media type: `application/json`. Schema: `platformEndpointsResponseBody`.
    
    _Example_
    
    ```
    {
      "count": 4,
      "page": 1,
      "pageSize": 4,
      "items": [
        {
          "type": "ftp",
          "url": "ftp://ftp1.exacttarget.com"
        },
        {
          "type": "rest",
          "url": "https://restapi.exacttarget.com"
        },
        {
          "type": "restAuth",
          "url": "https://auth.exacttargetapis.com"
        },
        {
          "type": "soap",
          "url": "https://webservice.exacttarget.com/Service.asmx"
        }
      ]
    }
    ```
    
*   **400** Indicates that your request contained errors that prevented the validation process. When you receive a 400 response, verify that the request syntax is accurate.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "JSON Deserialization Exception: Location Unknown",
      "errorcode": 10004,
      "documentation": ""
    }
    ```
    
*   **401** Indicates that Marketing Cloud Engagement wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Found"
    }
    ```
    
*   **500** Indicates that Marketing Cloud Engagement encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

### GET Retrieve an endpoint URL for a specific service, such as REST or SOAP API.

`GET /platform/v1/endpoints/{endpointType}`

Operation ID: `Get Endpoint`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `endpointType` (path, string, required) A type of endpoint to retrieve the endpoint URL for.

#### Responses

*   **200** Returns a list of endpoints for Marketing Cloud Engagement services.
    
    Media type: `application/json`. Schema: `platformEndpointResponseBody`.
    
    _Example_
    
    ```
    {
      "type": "ftp",
      "url": "ftp://ftp1.exacttarget.com"
    }
    ```
    
*   **400** Indicates that your request contained errors that prevented the validation process. When you receive a 400 response, verify that the request syntax is accurate.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "JSON Deserialization Exception: Location Unknown",
      "errorcode": 10004,
      "documentation": ""
    }
    ```
    
*   **401** Indicates that Marketing Cloud Engagement wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Found"
    }
    ```
    
*   **500** Indicates that Marketing Cloud Engagement encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

### GET Retrieve all of the encryption keys associated with an account. To retrieve this data, the data at rest encryption feature must be enabled for your account.

`GET /platform/v1/key`

Operation ID: `Get Encryption Keys`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `x-request-id` (header, string) A unique identifier for the request.
*   `x-mccs-user-context` (header, string) A string that indicates the user context for the request. For example, `EID=111;MID=111;EmployeeId=111`.
*   `x-mccs-keystore-provider` (header, string) The type of key store provider to use for an ImportKey or WrappingKey request. Possible values are `kms`, `keysecure`, and `database`. The default value is `keysecure`.
*   `x-mccs-mac` (header, string) The message authentication code for the request.

#### Responses

*   **200** Returns information about an encryption key in the current account.
    
    Media type: `application/json`. Schema: `platformKeyByIDResponseBody`.
    
    _Example_
    
    ```
    {
      "keyName": "TDE Key 1",
      "keyId": "a9c8f1be-3ba1-42ef-b4a5-26f4df5cb0c7",
      "keyVersion": 1,
      "keyType": "RSA",
      "mid": 123,
      "keySize": 2048,
      "keyState": "PreActive",
      "createdDate": "2024-06-17T16:18:30.383",
      "createdBy": 123,
      "modifiedDate": "2024-05-20T15:30:10.21",
      "modifiedBy": 123,
      "exportable": false,
      "useCase": "Tde",
      "securityHash": "YnR2OGRjWWFeKjUiNGM5NDhlZTA=",
      "publicKey": "",
      "imported": false
    }
    ```
    
*   **400** Indicates that your request contained errors that prevented the validation process. When you receive a 400 response, verify that the request syntax is accurate.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "JSON Deserialization Exception: Location Unknown",
      "errorcode": 10004,
      "documentation": ""
    }
    ```
    
*   **401** Indicates that Marketing Cloud Engagement wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Found"
    }
    ```
    
*   **403** Indicates that your API user doesn’t have sufficient permissions to retrieve a platform key.
    
    Media type: `application/json`. Schema: `string`.
    
    Type: `string`.
    
    _Example_
    
    ```
    You don’t have sufficient privileges for this operation
    ```
    
*   **500** Indicates that Marketing Cloud Engagement encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

### POST Creates or imports an encryption key. To create a key, the data at rest encryption feature must be enabled for your account. Contact your account executive for more information about enabling Data at Rest Encryption.

`POST /platform/v1/key`

Operation ID: `Create an Encryption Key`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `x-request-id` (header, string) A unique identifier for the request.
*   `x-mccs-user-context` (header, string) A string that indicates the user context for the request. For example, `EID=111;MID=111;EmployeeId=111`.
*   `x-mccs-keystore-provider` (header, string) The type of key store provider to use for an ImportKey or WrappingKey request. Possible values are `kms`, `keysecure`, and `database`. The default value is `keysecure`.
*   `x-mccs-mac` (header, string) The message authentication code for the request.

#### Responses

*   **201** Returns information about an encryption key in the current account.
    
    Media type: `application/json`. Schema: `platformKeyResponseBody`.
    
    _Example: same as GET /platform/v1/key 200 response._
    
*   **400** Indicates that your request contained errors that prevented the validation process. When you receive a 400 response, verify that the request syntax is accurate.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "JSON Deserialization Exception: Location Unknown",
      "errorcode": 10004,
      "documentation": ""
    }
    ```
    
*   **401** Indicates that Marketing Cloud Engagement wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Found"
    }
    ```
    
*   **500** Indicates that Marketing Cloud Engagement encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

### GET Retrieve an existing encryption key by providing its ID.

`GET /platform/v1/key/{keyId}`

Operation ID: `Retrieve an Encryption Key by ID`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `x-request-id` (header, string) A unique identifier for the request.
*   `x-mccs-user-context` (header, string) A string that indicates the user context for the request. For example, `EID=111;MID=111;EmployeeId=111`.
*   `x-mccs-keystore-provider` (header, string) The type of key store provider to use for an ImportKey or WrappingKey request. Possible values are `kms`, `keysecure`, and `database`. The default value is `keysecure`.
*   `x-mccs-mac` (header, string) The message authentication code for the request.

#### Responses

*   **200** Returns information about an encryption key in the current account.
    
    Media type: `application/json`. Schema: `platformKeyByIDResponseBody`.
    
    _Example: same as GET /platform/v1/key 200 response._
    
*   **400** Indicates that your request contained errors that prevented the validation process. When you receive a 400 response, verify that the request syntax is accurate.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "JSON Deserialization Exception: Location Unknown",
      "errorcode": 10004,
      "documentation": ""
    }
    ```
    
*   **401** Indicates that Marketing Cloud Engagement wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Found"
    }
    ```
    
*   **500** Indicates that Marketing Cloud Engagement encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

### DELETE Deletes an encryption key.

`DELETE /platform/v1/key/{keyId}`

Operation ID: `Delete an Encryption Key`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `x-request-id` (header, string) A unique identifier for the request.
*   `x-mccs-user-context` (header, string) A string that indicates the user context for the request. For example, `EID=111;MID=111;EmployeeId=111`.
*   `x-mccs-keystore-provider` (header, string) The type of key store provider to use for an ImportKey or WrappingKey request. Possible values are `kms`, `keysecure`, and `database`. The default value is `keysecure`.
*   `x-mccs-mac` (header, string) The message authentication code for the request.

#### Responses

*   **204** Indicates that the specified key was successfully deleted. The response doesn’t contain any additional information.
*   **400** Indicates that your request contained errors that prevented the validation process. When you receive a 400 response, verify that the request syntax is accurate.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "JSON Deserialization Exception: Location Unknown",
      "errorcode": 10004,
      "documentation": ""
    }
    ```
    
*   **401** Indicates that Marketing Cloud Engagement wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Found"
    }
    ```
    
*   **500** Indicates that Marketing Cloud Engagement encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

### GET Retrieves information about the key types and key lengths that your account supports. To retrieve this information, the data at rest encryption feature must be enabled for your account.

`GET /platform/v1/key/type`

Operation ID: `Get Key Types`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `x-request-id` (header, string) A unique identifier for the request.
*   `x-mccs-user-context` (header, string) A string that indicates the user context for the request. For example, `EID=111;MID=111;EmployeeId=111`.
*   `x-mccs-keystore-provider` (header, string) The type of key store provider to use for an ImportKey or WrappingKey request. Possible values are `kms`, `keysecure`, and `database`. The default value is `keysecure`.
*   `x-mccs-mac` (header, string) The message authentication code for the request.

#### Responses

*   **200** Returns information about the key types and lengths supported by the account.
    
    Media type: `application/json`. Schema: `platformKeyTypesResponseBody`.
    
    _Example_
    
    ```
    {
      "key": "RSA",
      "value": 2048
    }
    ```
    
*   **400** Indicates that your request contained errors that prevented the validation process. When you receive a 400 response, verify that the request syntax is accurate.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "JSON Deserialization Exception: Location Unknown",
      "errorcode": 10004,
      "documentation": ""
    }
    ```
    
*   **401** Indicates that Marketing Cloud Engagement wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Found"
    }
    ```
    
*   **500** Indicates that Marketing Cloud Engagement encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

### GET Returns information about an authentication token.

`GET /platform/v1/tokenContext`

Operation ID: `Get Authentication Token Information`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    

#### Responses

*   **200** Returns contextual information about a REST authentication token.
    
    Media type: `application/json`. Schema: `platformTokenContextResponseBody`.
    
    _Example_
    
    ```
    {
      "enterprise": {
        "id": 1081365
      },
      "organization": {
        "id": 1081365
      },
      "user": {
        "id": 1093240
      }
    }
    ```
    
*   **400** Indicates that your request contained errors that prevented the validation process. When you receive a 400 response, verify that the request syntax is accurate.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "JSON Deserialization Exception: Location Unknown",
      "errorcode": 10004,
      "documentation": ""
    }
    ```
    
*   **401** Indicates that Marketing Cloud Engagement wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Found"
    }
    ```
    
*   **500** Indicates that Marketing Cloud Engagement encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

### GET Retrieve and create an RSA 4096 wrapping key.

`GET /platform/v1/wrappingKey`

Operation ID: `Get a Wrapping Key`.

This feature isn’t enabled by default. Contact your account executive for more information about enabling this feature. To use this feature, data at rest encryption must be enabled in your account.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to the Marketing Cloud Engagement API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `x-request-id` (header, string) A unique identifier for the request.
*   `x-mccs-user-context` (header, string) A string that indicates the user context for the request. For example, `EID=111;MID=111;EmployeeId=111`.
*   `x-mccs-keystore-provider` (header, string) The type of key store provider to use for an ImportKey or WrappingKey request. Possible values are `kms`, `keysecure`, and `database`. The default value is `keysecure`.
*   `x-mccs-mac` (header, string) The message authentication code for the request.

#### Responses

*   **200** Returns an RSA wrapping key.
    
    Media type: `text/plain`. Schema: `string`.
    
    Type: `string`.
    
    Example: `-----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA2kBDGZIRLUpZXzovqaSR ZISCYjc9AxrqCZxO7wLp+u4h82bEMVzgtLmv07FDysero8yr9Skj8T091sNKozd+ X19IscFRJM8UUFJJW5OZTHUopfQ98rqlPzIyHBEGQNKdbVrAmB6RQCITBXWDeS7r 1ioKhV9y55Q3bdqFmK/zKs+quEOkkFYRhEdDpUP7beF0m8wO09c+tLV3N47AmaGs r7OA+VVhSHLDLc2aAiNUV6XIIFPvJq6s9WNmHnUUw+sCWm0kbMTkAlnPKsMLvvgS mNTYoGe7F8fsmOx4aP3n+NexvrTrfJkR6akTEqu3UiT3dxWGNndpw+g4TkyRHPHS PhbCRgWqTIsUai4ovktM5pGL8ZCOg1hI5/8Yyy6sOJ4/okt9K4jxPKA5LJZd4GvR GykDWPMWxMNGcnRuzPVUaP8CAwEAAQN0OeHpvBAmzSkE7TRSnFSoWi0ZkYxqLQvA X+6+gPUHne3l7HjWdmKxaIctJpB0rCvQAZlcdmKSzJkKphx0Q+e8nrXjq88AfS8R 3Wljz9PjTlHvGR48cPu+pZJWEynd5Qo5jSsqf6Sm0wa2j0lJHGGYDPMpwmuDOV/W gb+CVs+WdLCUotGWi3a6NKMexAMPL3== -----END PUBLIC KEY-----`.
    
*   **400** Indicates that your request contained errors that prevented the validation process. When you receive a 400 response, verify that the request syntax is accurate.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "JSON Deserialization Exception: Location Unknown",
      "errorcode": 10004,
      "documentation": ""
    }
    ```
    
*   **401** Indicates that Marketing Cloud Engagement wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Found"
    }
    ```
    
*   **500** Indicates that Marketing Cloud Engagement encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

### PUT Queue the rotation of an encryption key.

`PUT /platform/v1/dataencryption/rotateasync`

Operation ID: `Rotate an Encryption Key`.

#### Responses

*   **200** Indicates that the request to rotate the key has been added to the queue for processing.
    
    Media type: `application/json`. Schema: `platformRotateKeyResponseBody`.
    
    _Example_
    
    ```
    {
      "trackingCode": "string",
      "retryAfter": 0,
      "requestPayload": {
        "eid": 512001064,
        "mid": 512001064,
        "keyId": "string"
      }
    }
    ```
    
*   **400** Indicates that your request contained errors that prevented the validation process. When you receive a 400 response, verify that the request syntax is accurate.
    
    Media type: `application/json`. Schema: `mceErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "message": "JSON Deserialization Exception: Location Unknown",
      "errorcode": 10004,
      "documentation": ""
    }
    ```
    
*   **401** Indicates that Marketing Cloud Engagement wasn’t able to authorize your request. When you receive a 401 response, verify that you obtained an authorization token and that the token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Not Found"
    }
    ```
    
*   **429** Indicates that too many key rotation requests have been issued. Limit key rotation requests to two concurrent requests. The response doesn’t contain any additional information.
*   **500** Indicates that Marketing Cloud Engagement encountered an error when processing the request. When you receive a 500 response, verify that the request uses the correct syntax.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    {
      "documentation": "https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm",
      "errorcode": 0,
      "message": "Internal Server Error"
    }
    ```
    

## Schemas

### accountSettingsResponseBody

An array of objects. Each object in the array contains information about a setting that applies to the Marketing Cloud Engagement account specified by the current session’s authentication token.

Array of `object`.

*   `account_id` (_string_) The member ID (MID) of the Marketing Cloud Engagement account that the data applies to.
*   `childBUValues` (_array of object_) Each item in this array represents a business unit that belongs to the enterprise. For each business unit, the account setting is shown in the `value` property. The response only includes this array if the request included the `entire_enterprise=true` query parameter.
    *   `account_id` (_string_) The member ID (MID) of the Marketing Cloud Engagement account that the data applies to.
    *   `value` (_string_) The value of the setting, such as `Enabled` or `Disabled`.
*   `description` (_string_) A description of the setting.
*   `displayname` (_string_) The name of a setting.
*   `value` (_string_) The value of the setting, such as `Enabled` or `Disabled`.

### mceErrorResponseBody

*   `documentation` (_string_) An empty string.
*   `errorcode` (_integer_) An internal error code. For a complete list of error codes, see [Handle Errors in REST API](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/error-handling.html).
*   `message` (_string_) The error message.

### httpErrorResponseBody

*   `documentation` (_string_) Contains a link to the [Marketing Cloud Engagement developer documentation page about handling REST API errors](https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm).
*   `errorcode` (_integer_) The error code. In some situations, this value can be 0.
*   `message` (_string_) The error message.

### platformEndpointsResponseBody

*   `count` (_number (integer)_) The total number of results returned.
*   `items` (_array of platformEndpointResponseBody_)
*   `page` (_number (integer)_) The current page number of results.
*   `pageSize` (_number (integer)_) The number of results in current page.

### platformEndpointResponseBody

*   `type` (_string_) The name of the endpoint.
*   `url` (_string_) The endpoint URL of the service specified by the `type` property.

### platformKeyByIDResponseBody

*   `createdBy` (_number (integer)_) The ID of the user who created the key.
*   `createdDate` (_string (date-time)_) The date and time when the key was created.
*   `eid` (_number (integer)_) The enterprise ID (EID) of the parent account for the key.
*   `exportable` (_boolean_)
*   `imported` (_boolean_)
*   `initializationVector` (_string_) The initialization vector (IV) for encoding the key.
*   `isKeyDataWrapped` (_boolean_)
*   `keyData` (_string_)
*   `keyDataWrappingKey` (_string_)
*   `keyId` (_string_) A unique identifier for the key.
*   `keyName` (_string_) The name of the key.
*   `keyOwnerId` (_number (integer)_) The unique identifier of the user that owns the key.
*   `keyProviderIdentifier` (_string_)
*   `keySignature` (_string_)
*   `keySize` (_number (integer)_) The size of the key in bits.
*   `keyState` (_string_) The status of the key.
*   `keyStorageRepository` (_string_)
*   `keyType` (_string_) The type of the key.
*   `keyVersion` (_number (integer)_) The version of the key.
*   `mid` (_number (integer)_) The member ID (MID) of the account that the key applies to.
*   `modifiedBy` (_number (integer)_) The ID of the user who last modified the key.
*   `modifiedDate` (_string (date-time)_) The date and time when the key was last modified.
*   `publicKeyData` (_string_) The public key value.
*   `securityHash` (_string_) The security hash that’s used to encrypt the key.
*   `useCase` (_string_) A description of the use case for the key.

### platformKeyResponseBody

*   `createdBy` (_number (integer)_) The ID of the user who created the key.
*   `createdDate` (_string (date-time)_) The date and time when the key was created.
*   `exportable` (_boolean_)
*   `imported` (_boolean_)
*   `keyId` (_string_) A unique identifier for the key.
*   `keyName` (_string_) The name of the key.
*   `keySize` (_number (integer)_) The size of the key in bits.
*   `keyState` (_string_) The status of the key.
*   `keyType` (_string_) The type of the key.
*   `keyVersion` (_number (integer)_) The version of the key.
*   `mid` (_number (integer)_) The member ID (MID) of the account that the key applies to.
*   `modifiedBy` (_number (integer)_) The ID of the user who last modified the key.
*   `modifiedDate` (_string (date-time)_) The date and time when the key was last modified.
*   `publicKey` (_string_) The public key value.
*   `securityHash` (_string_) The security hash that’s used to encrypt the key.
*   `useCase` (_string_) A description of the use case for the key.

### platformKeyTypesResponseBody

*   `key` (_string_) The supported key type.
*   `value` (_string_) The key length that’s supported by the key type specified in the `key` property.

### platformTokenContextResponseBody

*   `enterprise` (_object_)
    *   `id` (_number (integer)_) The enterprise ID (EID) associated with the authentication token.
*   `organization` (_object_)
    *   `id` (_number (integer)_) The member ID (MID) associated with the authentication token.
*   `user` (_object_)
    *   `id` (_number (integer)_) The user ID associated with the authentication token.

### platformRotateKeyResponseBody

*   `trackingCode` (_string_) A unique identifier for tracking the key rotation request.
*   `retryAfter` (_number (integer)_) The estimated time to complete the key rotation request.
*   `requestPayload` (_object_)
    *   `eid` (_number_) The enterprise ID (EID) of the parent account for the key.
    *   `mid` (_number_) The member ID (MID) of the account that the key is associated with.
    *   `keyId` (_string_) The unique identifier of the key.

### createKeyRequestBody

*   `exportable` (_boolean_)
*   `keyId` (_string_) A unique identifier for the key.
*   `keyName` (_string_) The name of the key.
*   `keySize` (_number (integer)_) The size of the key in bits.
*   `keyState` (_string_) The status of the key.
*   `keyType` (_string_) The type of the key.
*   `keyVersion` (_number (integer)_) The version of the key.
*   `eid` (_number (integer)_) The enterprise ID (EID) of the parent account for the key.
*   `mid` (_number (integer)_) The member ID (MID) of the account that the key applies to.
*   `keyData` (_object_)
    *   `wrappedRsaBytes` (_string_) An encrypted RSA key, encoded as a base 64 string.
    *   `digitalSignature` (_string_)
    *   `initializationVector` (_string_) The initialization vector (IV) that is used to encode the key. Provide an IV when you wrap with an AES key.
    *   `wrappedAesBytes` (_string_) An encrypted AES key, encoded as a base 64 string.