# Messenger Profile API
The Messenger Profile for your Page is where you set properties that define various aspects of the following Messenger Platform features. For more information, see the [Messenger Profile Properties](#profile_properties) table below.
* [Get Started Button](https://developers.facebook.com/documentation/business-messaging/messenger-platform/discovery/welcome-screen)
* [Welcome Page](https://developers.facebook.com/documentation/business-messaging/messenger-platform/reference/messenger-profile-api/greeting)
* [Ice Breakers](https://developers.facebook.com/documentation/business-messaging/messenger-platform/reference/messenger-profile-api/ice-breakers)
* [Persistent Menu](https://developers.facebook.com/documentation/business-messaging/messenger-platform/send-messages/persistent-menu)
* [Domain allowlist](https://developers.facebook.com/documentation/business-messaging/messenger-platform/reference/messenger-profile-api/domain-whitelisting)
* [Account Linking](https://developers.facebook.com/documentation/business-messaging/messenger-platform/reference/messenger-profile-api/account-linking-url)
* [Commands](https://developers.facebook.com/documentation/business-messaging/messenger-platform/reference/messenger-profile-api/commands)
The Messenger Profile API allows you to set, update, retrieve, and delete properties from the Page Messenger Profile.
## Permissions {#permissions}
A page access token with `pages_messaging` permission is required to interact with this endpoint.
Apps in Development Mode, the Messenger Profile settings will only be visible to people with role on the app.
## Request URI
```
https://graph.facebook.com/v25.0/me/messenger_profile?access_token=<PAGE_ACCESS_TOKEN>
```
## Messenger Profile Properties {#profile_properties}
The following properties may be included in the Messenger profile for your Page. See descriptions in the table below for the type and purpose of each property.
| Property | Type | Description |
| --- | --- | --- |
| `get_started` | Object | The payload that will be sent as a `messaging_postbacks` event when someone taps the 'get started' button on your Page Messenger welcome screen.<br><br>For more, see [Get Started Button Reference](https://developers.facebook.com/documentation/business-messaging/messenger-platform/discovery/welcome-screen). |
| `greeting` | Array<Object><br> | An array of locale-specific greeting messages to display on your Page Messenger welcome screen.<br><br>For more, see [Greeting Text Reference](https://developers.facebook.com/documentation/business-messaging/messenger-platform/reference/messenger-profile-api/greeting). |
| `ice_breakers` | Array<Object><br> | An array with an ice breaker object.<br><br>For more, see [Ice Breakers Reference](https://developers.facebook.com/documentation/business-messaging/messenger-platform/reference/messenger-profile-api/ice-breakers). |
| `persistent_menu` | Array<Object><br> | An array of call-to-action buttons to include in the persistent menu.<br><br>For more, see [Persistent Menu Reference](https://developers.facebook.com/documentation/business-messaging/messenger-platform/send-messages/persistent-menu). |
| `whitelisted_domains` | Array<String><br> | A list of allowlisted domains. Required for Pages that use the [Messenger Extensions SDK](https://developers.facebook.com/documentation/business-messaging/messenger-platform/webview/extensions) and the [checkbox plugin](https://developers.facebook.com/documentation/business-messaging/messenger-platform/discovery).<br><br>For more, see [Domain Allowlist Reference](https://developers.facebook.com/documentation/business-messaging/messenger-platform/reference/messenger-profile-api/domain-whitelisting). |
| `account_linking_url` | String | Authentication callback URL. Must use https protocol.<br><br>For more, see [Account Linking URL Reference](https://developers.facebook.com/documentation/business-messaging/messenger-platform/reference/messenger-profile-api/account-linking-url). |
| `commands` | Array<Object><br> | Optional argument. If provided, it cannot be null.<br><br>For more, see [Commands Reference](https://developers.facebook.com/documentation/business-messaging/messenger-platform/reference/messenger-profile-api/commands). |
| `subject_to_new_eu_privacy_rules` | Boolean | A boolean flag that determines whether the page is impacted by the [Messenger API Updates for Europe](https://developers.facebook.com/documentation/business-messaging/messenger-platform/europe-japan-updates). This property is only available for `GET` request. |
## Retrieve Properties {#get}
Retrieves the current value of one or more [Messenger Profile properties](#profile_properties) by name.
### Request Parameters
The following parameters are included in the query string of the request:
| Parameter | Description |
| --- | --- |
| fields | A comma-separated list of [Messenger Profile properties](#profile_properties) to retrieve. |
### Example Request
```
curl -X GET "https://graph.facebook.com/v25.0/me/messenger_profile?fields=whitelisted_domains,greeting&access_token=<PAGE_ACCESS_TOKEN>"
```
### Example Response
The current value of the requested properties will be returned in the `data` array:
```curl
{
"data": [
{
"whitelisted_domains": [
"https://facebook.com/"
],
"greeting": [
{
"locale": "default",
"text": "Hello!"
},
{
"locale": "en_US",
"text": "Timeless apparel for the masses."
}
]
}
]
}
```
## Set/Update Properties {#post}
Sets the values of one or more [Messenger Profile properties](#profile_properties). Only properties set in the request body will be overwritten.
### Example Request
```curl
curl -X POST -H "Content-Type: application/json" -d '{
"<PROPERTY_NAME>": "<NEW_PROPERTY_VALUE>",
"<PROPERTY_NAME>": "<NEW_PROPERTY_VALUE>",
...
}' "https://graph.facebook.com/v25.0/me/messenger_profile?access_token=<PAGE_ACCESS_TOKEN>"
```
### Example Response
```json
{
"result": "success"
}
```
## Delete Properties {#delete}
Deletes one or more [Messenger Profile properties](#profile_properties). Only properties specified in the `fields` array will be deleted.
### Example Request
```
curl -X DELETE -H "Content-Type: application/json" -d '{
"fields": [
"<PROPERTY_NAME>",
"<PROPERTY_NAME>",
"<PROPERTY_NAME>",
...
]
}' "https://graph.facebook.com/v25.0/me/messenger_profile?access_token=<PAGE_ACCESS_TOKEN>"
```
### Example Response
```json
{
"result": "success"
}
```
## Rate Limit {#rate_limit}
Calls to the Messenger Profile API are limited to 10 API calls per 10 minute interval. This rate limit is enforced per Page.