WhatsApp Business Message History Events API
Copy for LLM View as Markdown Version v23.0 API for retrieving WhatsApp Business Message History Events and delivery status occurrences. This endpoint allows businesses to retrieve detailed message delivery status events for specific message history entries, including delivery status transitions, timestamps, and application information.Base URL
| https://graph.facebook.com |Endpoints
| GET | ///events |GET ///events
Retrieve paginated message delivery status events for a specific message history entry, including delivery status occurrences, timestamps, and application information. Use Cases: Track detailed message delivery status events and transitions Monitor delivery status occurrence timestamps Retrieve application information for delivery events Debug message delivery issues and status changes Rate Limiting: Standard Graph API rate limits apply. Use appropriate retry logic with exponential backoff. Caching: Message history events can be cached for short periods, but delivery status events may change frequently. Implement appropriate cache invalidation strategies. Pagination: This endpoint supports cursor-based pagination. Use the after and before cursors from the response to navigate through results.Request Syntax
GET///events Try it Select language cURLJavaScriptPythonUser-Agentstring The user agent string identifying the client software making the request. Authorizationstring·required Bearer token for API authentication. This should be a valid access token obtained through the appropriate OAuth flow or system user token. Path Parameters
Versionstring·required Graph API version to use for this request. Determines the API behavior and available features. Message-History-IDstring·required Your WhatsApp Business Message History ID. This ID is provided when you retrieve message history and can be found through message history APIs. Query Parameters
status_filterWhatsAppMessageDeliveryStatus Filter results by specific delivery status. When provided, only events with this delivery status will be returned. fieldsstring Comma-separated list of fields to include in the response. If not specified, default fields will be returned (cursor, node). Available fields: cursor, node limitinteger [min: 1, max: 100] Maximum number of message history events to return per page. Default is 25, maximum is 100. afterstring Cursor for pagination. Use this to get the next page of results. This value comes from the paging.cursors.after field in previous responses. beforestring Cursor for pagination. Use this to get the previous page of results. This value comes from the paging.cursors.before field in previous responses. Responses
Retrieve paginated message delivery status events for a specific message history entry, including delivery status occurrences, timestamps, and application information. Use Cases: Track detailed message delivery status events and transitions Monitor delivery status occurrence timestamps Retrieve application information for delivery events Debug message delivery issues and status changes Rate Limiting: Standard Graph API rate limits apply. Use appropriate retry logic with exponential backoff. Caching: Message history events can be cached for short periods, but delivery status events may change frequently. Implement appropriate cache invalidation strategies. Pagination: This endpoint supports cursor-based pagination. Use the after and before cursors from the response to navigate through results. 200 Successfully retrieved WhatsApp message history events Content Type: application/json Schema: MessageHistoryEventsResponse Show child attributes
MessageHistoryEventsResponse
dataarray of WhatsAppMessageHistoryEventsEdge Array of message history event edges Show child attributes
data[]WhatsAppMessageHistoryEventsEdge Edge containing message delivery status occurrence with pagination cursor Show child attributes
cursorstring Pagination cursor for this edge
nodeWhatsAppBusinessMessageDeliveryStatusOccurrence Message delivery status occurrence with detailed event information Show child attributes
idstring·required Unique identifier for the message delivery status occurrence
delivery_statusWhatsAppMessageDeliveryStatus Message delivery status
error_descriptionstring Error description if the delivery encountered an error
occurrence_timestampinteger (int64)·required Unix timestamp when the delivery status occurrence happened
status_timestampinteger (int64) Unix timestamp when the status was recorded
applicationApplicationNode Meta application that processed the delivery status event Show child attributes
idstring Unique identifier for the Meta application
namestring Name of the Meta application
pagingPaginationInfo Pagination information for navigating through results Show child attributes
cursorsobject Pagination cursors for navigation Show child attributes
beforestring Cursor for the previous page of results
afterstring Cursor for the next page of results
previousstring (uri) URL for the previous page of results
nextstring (uri) URL for the next page of results 400 Bad Request - Invalid parameters or malformed request Content Type: application/json Schema: GraphAPIError Show child attributes
GraphAPIError
errorobject·required Show child attributes
messagestring·required Human-readable error message
typestring·required Error category type
codeinteger·required Numeric error code
error_subcodeinteger More specific error subcode when available
fbtrace_idstring Unique identifier for debugging and support requests with Meta
is_transientboolean Indicates whether this error is temporary and the request should be retried
error_user_titlestring User-friendly error title for display purposes
error_user_msgstring User-friendly error message for display purposes 401 Unauthorized - Invalid or missing access token Content Type: application/json Schema: GraphAPIError Show child attributes
GraphAPIError
errorobject·required Show child attributes
messagestring·required Human-readable error message
typestring·required Error category type
codeinteger·required Numeric error code
error_subcodeinteger More specific error subcode when available
fbtrace_idstring Unique identifier for debugging and support requests with Meta
is_transientboolean Indicates whether this error is temporary and the request should be retried
error_user_titlestring User-friendly error title for display purposes
error_user_msgstring User-friendly error message for display purposes 403 Forbidden - Insufficient permissions or access denied Content Type: application/json Schema: GraphAPIError Show child attributes
GraphAPIError
errorobject·required Show child attributes
messagestring·required Human-readable error message
typestring·required Error category type
codeinteger·required Numeric error code
error_subcodeinteger More specific error subcode when available
fbtrace_idstring Unique identifier for debugging and support requests with Meta
is_transientboolean Indicates whether this error is temporary and the request should be retried
error_user_titlestring User-friendly error title for display purposes
error_user_msgstring User-friendly error message for display purposes 404 Not Found - Message History ID does not exist or is not accessible Content Type: application/json Schema: GraphAPIError Show child attributes
GraphAPIError
errorobject·required Show child attributes
messagestring·required Human-readable error message
typestring·required Error category type
codeinteger·required Numeric error code
error_subcodeinteger More specific error subcode when available
fbtrace_idstring Unique identifier for debugging and support requests with Meta
is_transientboolean Indicates whether this error is temporary and the request should be retried
error_user_titlestring User-friendly error title for display purposes
error_user_msgstring User-friendly error message for display purposes 422 Unprocessable Entity - Request parameters are valid but cannot be processed Content Type: application/json Schema: GraphAPIError Show child attributes
GraphAPIError
errorobject·required Show child attributes
messagestring·required Human-readable error message
typestring·required Error category type
codeinteger·required Numeric error code
error_subcodeinteger More specific error subcode when available
fbtrace_idstring Unique identifier for debugging and support requests with Meta
is_transientboolean Indicates whether this error is temporary and the request should be retried
error_user_titlestring User-friendly error title for display purposes
error_user_msgstring User-friendly error message for display purposes 429 Too Many Requests - Rate limit exceeded Content Type: application/json Schema: GraphAPIError Show child attributes
GraphAPIError
errorobject·required Show child attributes
messagestring·required Human-readable error message
typestring·required Error category type
codeinteger·required Numeric error code
error_subcodeinteger More specific error subcode when available
fbtrace_idstring Unique identifier for debugging and support requests with Meta
is_transientboolean Indicates whether this error is temporary and the request should be retried
error_user_titlestring User-friendly error title for display purposes
error_user_msgstring User-friendly error message for display purposes 500 Internal Server Error - Unexpected server error Content Type: application/json Schema: GraphAPIError Show child attributes
GraphAPIError
errorobject·required Show child attributes
messagestring·required Human-readable error message
typestring·required Error category type
codeinteger·required Numeric error code
error_subcodeinteger More specific error subcode when available
fbtrace_idstring Unique identifier for debugging and support requests with Meta
is_transientboolean Indicates whether this error is temporary and the request should be retried
error_user_titlestring User-friendly error title for display purposes
error_user_msgstring User-friendly error message for display purposes Select language cURLJavaScriptPython

