Skip to content
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

ParameterDescription
folder<br>enum {PARTNERSHIP}folder
message<br>ObjectMessage data<br>Supports Emoji
a2ui<br>Object
text<br>UTF-8 stringSupports Emoji
dynamic_text<br>ObjectSupports Emoji
text<br>UTF-8 stringRequiredSupports Emoji
fallback_text<br>UTF-8 stringSupports Emoji
attachment<br>ObjectSupports 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>stringSupports 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>stringSupports Emoji
quick_reply_type<br>string
quick_replies<br>list<Object>Supports Emoji
title<br>UTF-8 stringSupports 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 stringSupports Emoji
sticker_id<br>int64
template<br>Object
name<br>stringRequired
language<br>ObjectRequired
code<br>stringRequired
components<br>list<Object>Supports Emoji
type<br>enum {HEADER, BODY, TITLE, BUTTONS}Required
parameters<br>list<Object>Supports Emoji
type<br>stringRequired
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>stringpayload<br>Supports Emoji
persona_id<br>numeric stringThe ID of a Persona
recipient<br>ObjectThe 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>Objectreply_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 tagThe use case tag of the message to bypass the subscriptions permission check
thread_control<br>Objectthread_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

ErrorDescription
551This person isn't available right now.
100Invalid parameter
2022The ability to send commerce messages has been temporarily disabled for this application.
613Calls to this api have exceeded the rate limit.
10903This user cant reply to this activity
368The action attempted has been deemed abusive or is otherwise disallowed
190Invalid OAuth 2.0 Access Token
10900Activity already replied to
200Permissions error
10904The 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

ParameterDescription
message<br>ObjectInformation about the message including the message ID, type, and contents<br>Supports Emoji
a2ui<br>Object
text<br>UTF-8 stringSupports Emoji
dynamic_text<br>ObjectSupports Emoji
text<br>UTF-8 stringRequiredSupports Emoji
fallback_text<br>UTF-8 stringSupports Emoji
attachment<br>ObjectSupports 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>stringSupports 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>stringSupports Emoji
quick_reply_type<br>string
quick_replies<br>list<Object>Supports Emoji
title<br>UTF-8 stringSupports 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 stringSupports Emoji
sticker_id<br>int64
template<br>Object
name<br>stringRequired
language<br>ObjectRequired
code<br>stringRequired
components<br>list<Object>Supports Emoji
type<br>enum {HEADER, BODY, TITLE, BUTTONS}Required
parameters<br>list<Object>Supports Emoji
type<br>stringRequired
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>stringPayload of the sender action<br>Supports Emoji
persona_id<br>numeric stringThe ID for your business persona
recipient<br>ObjectThe 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>ObjectInformation 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 tagA 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

ErrorDescription
551This person isn't available right now.
100Invalid parameter
2022The ability to send commerce messages has been temporarily disabled for this application.
613Calls to this api have exceeded the rate limit.
10903This user cant reply to this activity
368The action attempted has been deemed abusive or is otherwise disallowed
190Invalid OAuth 2.0 Access Token
10900Activity already replied to
200Permissions error
10904The 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.