Appearance
Fresh 2026
Page Messages
The PageMessages endpoint allows your business to send a message to a customer from your Facebook Page in response to a message received from the customer.
Reading
You can't perform this operation on this endpoint.
Creating
You can make a POST request to messages edge from the following paths:
/{page_id}/messages
When posting to this edge, no Graph object will be created.
Parameters
| Parameter | Description |
|---|---|
folder<br>enum {PARTNERSHIP} | folder |
message<br>Object | Message data<br>Supports Emoji |
a2ui<br>Object | |
text<br>UTF-8 string | Supports Emoji |
dynamic_text<br>Object | Supports Emoji |
text<br>UTF-8 string | RequiredSupports Emoji |
fallback_text<br>UTF-8 string | Supports Emoji |
attachment<br>Object | Supports Emoji |
type<br>enum {IMAGE, VIDEO, AUDIO, FILE, LOCATION, TEMPLATE, FALLBACK, REEL, IG_REEL, POST, IG_POST, STICKER, LIKE_HEART, MEDIA_SHARE} | Required |
payload<br>string | Supports Emoji |
attachments<br>list<Object> | |
type<br>enum {IMAGE, VIDEO, AUDIO, FILE, LOCATION, TEMPLATE, FALLBACK, REEL, IG_REEL, POST, IG_POST, STICKER, LIKE_HEART, MEDIA_SHARE} | Required |
payload<br>string | Supports Emoji |
quick_reply_type<br>string | |
quick_replies<br>list<Object> | Supports Emoji |
title<br>UTF-8 string | Supports Emoji |
content_type<br>enum {LOCATION, USER_PHONE_NUMBER, USER_EMAIL, USER_CITY, USER_BIRTHDAY, USER_STATE, USER_ZIP_CODE, OPEN_CAMERA, OPEN_GALLERY, RECORD_AUDIO, POLL, TEXT, OPEN_NATIVE, STICKER, OPEN_APP, P2P_PAYMENT, TRANSPORTATION, CREATE_EVENT, GIF, BIC_OPT_IN, DISPLAY_PERSISTENT_MENU, BUSINESS_LEAD_FORM} | Required |
image_url<br>URL | |
data<br>Object | |
app<br>string | |
dest_address<br>string | |
sticker_id<br>numeric string or integer | |
payment_amount<br>integer | |
payment_currency<br>ISO 4217 Currency Code | |
payment_type<br>enum{pay, request} | |
poll_options<br>list<string> | |
provider_name<br>string | |
native_uri<br>string | |
payload<br>UTF-8 string | Supports Emoji |
sticker_id<br>int64 | |
template<br>Object | |
name<br>string | Required |
language<br>Object | Required |
code<br>string | Required |
components<br>list<Object> | Supports Emoji |
type<br>enum {HEADER, BODY, TITLE, BUTTONS} | Required |
parameters<br>list<Object> | Supports Emoji |
type<br>string | Required |
text<br>string | |
payload<br>string | |
url<br>string | |
parameter_name<br>string | |
metadata<br>string | |
messaging_type<br>enum {RESPONSE, UPDATE, MESSAGE_TAG, UTILITY} | Messaging type of the message |
notification_type<br>enum {REGULAR, SILENT_PUSH, NO_PUSH} | Default value: REGULAR<br>Push notification / buzz type |
payload<br>string | payload<br>Supports Emoji |
persona_id<br>numeric string | The ID of a Persona |
recipient<br>Object | The recipient of the message<br>Required |
id<br>numeric string | |
email<br>string | |
ids<br>list<numeric string> | |
thread_key | |
google_chat_options<br>JSON object | |
send_to_workchat_only<br>boolean | |
reply_to<br>Object | reply_to |
mid<br>string | |
sender_action<br>enum {MARK_SEEN, TYPING_ON, TYPING_OFF, REACT, UNREACT} | Actions such as setting / unsetting typing indicators |
tag<br>Message tag | The use case tag of the message to bypass the subscriptions permission check |
thread_control<br>Object | thread_control |
app_id<br>numeric string | |
control_type<br>string | |
metadata<br>Object |
Return Type
This endpoint supports read-after-write and will read the node to which you POSTed.
Struct {
thread_key: string,
recipient_id: string,
message_id: string,
attachment_id: string,
gchat_space_name: string,
}
Error Codes
| Error | Description |
|---|---|
| 551 | This person isn't available right now. |
| 100 | Invalid parameter |
| 2022 | The ability to send commerce messages has been temporarily disabled for this application. |
| 613 | Calls to this api have exceeded the rate limit. |
| 10903 | This user cant reply to this activity |
| 368 | The action attempted has been deemed abusive or is otherwise disallowed |
| 190 | Invalid OAuth 2.0 Access Token |
| 10900 | Activity already replied to |
| 200 | Permissions error |
| 10904 | The page has messages disabled in the settings |
You can make a POST request to messages edge from the following paths:
/{page_id}/messages
When posting to this edge, no Graph object will be created.
Parameters
| Parameter | Description |
|---|---|
message<br>Object | Information about the message including the message ID, type, and contents<br>Supports Emoji |
a2ui<br>Object | |
text<br>UTF-8 string | Supports Emoji |
dynamic_text<br>Object | Supports Emoji |
text<br>UTF-8 string | RequiredSupports Emoji |
fallback_text<br>UTF-8 string | Supports Emoji |
attachment<br>Object | Supports Emoji |
type<br>enum {IMAGE, VIDEO, AUDIO, FILE, LOCATION, TEMPLATE, FALLBACK, REEL, IG_REEL, POST, IG_POST, STICKER, LIKE_HEART, MEDIA_SHARE} | Required |
payload<br>string | Supports Emoji |
attachments<br>list<Object> | |
type<br>enum {IMAGE, VIDEO, AUDIO, FILE, LOCATION, TEMPLATE, FALLBACK, REEL, IG_REEL, POST, IG_POST, STICKER, LIKE_HEART, MEDIA_SHARE} | Required |
payload<br>string | Supports Emoji |
quick_reply_type<br>string | |
quick_replies<br>list<Object> | Supports Emoji |
title<br>UTF-8 string | Supports Emoji |
content_type<br>enum {LOCATION, USER_PHONE_NUMBER, USER_EMAIL, USER_CITY, USER_BIRTHDAY, USER_STATE, USER_ZIP_CODE, OPEN_CAMERA, OPEN_GALLERY, RECORD_AUDIO, POLL, TEXT, OPEN_NATIVE, STICKER, OPEN_APP, P2P_PAYMENT, TRANSPORTATION, CREATE_EVENT, GIF, BIC_OPT_IN, DISPLAY_PERSISTENT_MENU, BUSINESS_LEAD_FORM} | Required |
image_url<br>URL | |
data<br>Object | |
app<br>string | |
dest_address<br>string | |
sticker_id<br>numeric string or integer | |
payment_amount<br>integer | |
payment_currency<br>ISO 4217 Currency Code | |
payment_type<br>enum{pay, request} | |
poll_options<br>list<string> | |
provider_name<br>string | |
native_uri<br>string | |
payload<br>UTF-8 string | Supports Emoji |
sticker_id<br>int64 | |
template<br>Object | |
name<br>string | Required |
language<br>Object | Required |
code<br>string | Required |
components<br>list<Object> | Supports Emoji |
type<br>enum {HEADER, BODY, TITLE, BUTTONS} | Required |
parameters<br>list<Object> | Supports Emoji |
type<br>string | Required |
text<br>string | |
payload<br>string | |
url<br>string | |
parameter_name<br>string | |
metadata<br>string | |
messaging_type<br>enum {RESPONSE, UPDATE, MESSAGE_TAG, UTILITY} | The type of message you are sending.<br>- MESSAGE_TAG-A non-promotional message that is being sent outside the 24-hour messaging window with a message tag. <br>- RESPONSE-A response to a received message. This includes promotional and non-promotional messages sent inside the 24-hour messaging window.<br>- UPDATE-A message that is not in response to a received message. This includes promotional and non-promotional messages sent inside the 24-hour messaging window. |
notification_type<br>enum {REGULAR, SILENT_PUSH, NO_PUSH} | Default value: REGULAR<br>The type of push notification the customer receives when your message is delivered |
payload<br>string | Payload of the sender action<br>Supports Emoji |
persona_id<br>numeric string | The ID for your business persona |
recipient<br>Object | The customer receiving your message. An example object is { "id": "PSID" }<br>Required |
id<br>numeric string | |
follow_id | |
story_id<br>story_id | |
poll_response_id<br>poll_response_id | |
phone_number<br>string | |
name<br>Object | |
first_name<br>string | |
last_name<br>string | |
user_ref<br>string | |
comment_id | |
post_id<br>string | |
player_id<br>numeric string | |
one_time_notif_token<br>string | |
notification_messages_token<br>string | |
login_id<br>string | |
reply_to<br>Object | Information of the specific existing message in the thread that you want to send a reply to. |
mid<br>string | |
sender_action<br>enum {MARK_SEEN, TYPING_ON, TYPING_OFF, REACT, UNREACT} | The action displayed to a customer to let the customer know that you have seen and are processing their message.<br>- MARK_SEEN-Indicates that you have received the customer's message<br>- REACT-Indicates that you have reacted to the customer's message<br>- TYPING_OFF-Turns off the typing indicator<br>- TYPING_ON-Indicates that you are typing a response to the customer's message. Automatically turns off after 20 seconds or after a response is sent<br>- UNREACT-Indicates that you have removed a reaction to the customer's message |
tag<br>Message tag | A tag to allow your app to send a personalized message to a customer outside the 24-hour messaging window.<br>- ACCOUNT_UPDATE-For a non-recurring message sent to a customer containing a change to the customer's application or account.<br>- CONFIRMED_EVENT_UPDATE-For a reminder or update for an event that a customer has registered for (RSVP'ed, purchased tickets). The message can be sent for upcoming events and events in progress.<br>- CUSTOMER_FEEDBACK-For a message sent to a customer containing the Customer Feedback Template. The message can be sent within 7 days after the customer's last message.<br>- HUMAN_AGENT-For a message sent to a customer from a human agent in response to the customer's inquiries. The message can be sent within 7 days after a customer's last message.<br>- POST_PURCHASE_UPDATE-For a message sent to a customer containing an update about the customer's recent purchase.<br>Only HUMAN_AGENT is available for Instagram Messaging. |
Return Type
This endpoint supports read-after-write and will read the node to which you POSTed.
Struct {
recipient_id: string,
message_id: string,
attachment_id: string,
}
Error Codes
| Error | Description |
|---|---|
| 551 | This person isn't available right now. |
| 100 | Invalid parameter |
| 2022 | The ability to send commerce messages has been temporarily disabled for this application. |
| 613 | Calls to this api have exceeded the rate limit. |
| 10903 | This user cant reply to this activity |
| 368 | The action attempted has been deemed abusive or is otherwise disallowed |
| 190 | Invalid OAuth 2.0 Access Token |
| 10900 | Activity already replied to |
| 200 | Permissions error |
| 10904 | The page has messages disabled in the settings |
Updating
You can't perform this operation on this endpoint.
Deleting
You can't perform this operation on this endpoint.