2026/09/03 - AWS End User Messaging Social - 2 new2 updated api methods
Changes Adding support for WhatsApp Flows with endpoints.
Sets the business public key used to encrypt the data exchanged with the endpoint of a data exchange Flow.
See also: AWS API Documentation
Request Syntax
client.put_whats_app_business_public_key(
originationPhoneNumberId='string',
businessPublicKey='string',
kmsKeyArn='string'
)
string
[REQUIRED]
The unique identifier of the phone number to associate with the business public key.
string
PEM-encoded RSA public key. Mutually exclusive with kmsKeyArn.
string
Customer-managed KMS asymmetric RSA key ARN. Mutually exclusive with businessPublicKey.
dict
Response Syntax
{}
Response Structure
(dict) --
Retrieves the business public key for a phone number and its signature status.
See also: AWS API Documentation
Request Syntax
client.get_whats_app_business_public_key(
originationPhoneNumberId='string'
)
string
[REQUIRED]
The unique identifier of the phone number whose business public key to retrieve.
dict
Response Syntax
{
'businessPublicKey': 'string',
'businessPublicKeySignatureStatus': 'string'
}
Response Structure
(dict) --
businessPublicKey (string) --
The stored RSA business public key (PEM), if present.
businessPublicKeySignatureStatus (string) --
Meta's signing status: "VALID" | "MISMATCH".
{'endpointUri': 'string'}
Creates a new WhatsApp Flow. Flows enable businesses to create rich, interactive forms and experiences that users can complete without leaving WhatsApp. The Flow is created in DRAFT status. If publish is set to true and a valid flowJson is provided, the Flow is published immediately.
See also: AWS API Documentation
Request Syntax
client.create_whats_app_flow(
id='string',
flowName='string',
categories=[
'SIGN_UP'|'SIGN_IN'|'APPOINTMENT_BOOKING'|'LEAD_GENERATION'|'SHOPPING'|'CONTACT_US'|'CUSTOMER_SUPPORT'|'SURVEY'|'OTHER',
],
flowJson=b'bytes',
publish=True|False,
cloneFlowId='string',
endpointUri='string'
)
string
[REQUIRED]
The ID of the WhatsApp Business Account to associate with this Flow.
string
[REQUIRED]
The name of the Flow. Must be unique within the WhatsApp Business Account.
list
[REQUIRED]
The categories that classify the business purpose of the Flow. At least one category is required.
(string) --
The category that classifies the business purpose of a WhatsApp Flow.
bytes
The Flow JSON definition that describes the screens, components, and logic of the Flow. Maximum size is 10 MB.
boolean
Set to true to publish the Flow immediately after creation. Requires a valid flowJson that passes Meta's validation.
string
The ID of an existing Flow within the same WhatsApp Business Account to clone.
string
Optional HTTPS endpoint for a dynamic Flow, registered with Meta as the Flow's endpoint_uri and called by Meta directly. When omitted, the Flow has no endpoint (static Flow). Meta only calls the endpoint when the Flow JSON also declares data_api_version. To verify that requests originate from Meta, attach your own Meta app via UpdateWhatsAppFlow.
dict
Response Syntax
{
'flowId': 'string',
'validationErrors': [
'string',
]
}
Response Structure
(dict) --
flowId (string) --
The unique identifier assigned to the Flow by Meta.
validationErrors (list) --
A list of validation errors returned by Meta, if any. Validation errors must be resolved before the Flow can be published.
(string) --
{'endpointUri': 'string', 'metaAppId': 'string'}
Updates the metadata of a WhatsApp Flow, such as its name or categories. This does not update the Flow JSON definition. Use UpdateWhatsAppFlowAssets to update the Flow JSON.
See also: AWS API Documentation
Request Syntax
client.update_whats_app_flow(
id='string',
flowId='string',
flowName='string',
categories=[
'SIGN_UP'|'SIGN_IN'|'APPOINTMENT_BOOKING'|'LEAD_GENERATION'|'SHOPPING'|'CONTACT_US'|'CUSTOMER_SUPPORT'|'SURVEY'|'OTHER',
],
endpointUri='string',
metaAppId='string'
)
string
[REQUIRED]
The ID of the WhatsApp Business Account associated with this Flow.
string
[REQUIRED]
The unique identifier of the Flow to update.
string
The updated name for the Flow.
list
The updated categories for the Flow.
(string) --
The category that classifies the business purpose of a WhatsApp Flow.
string
Optional HTTPS endpoint for a dynamic Flow, registered with Meta as the Flow's endpoint_uri and called by Meta directly. When omitted, the Flow's endpoint is unchanged.
string
Optional Meta app ID to attach to the Flow. Meta signs data-exchange requests with the attached app's secret, so attaching your own app is what enables X-Hub-Signature-256 and flow_token_signature verification at your endpoint. Meta requires the app to be owned by the same business that owns the WABA. Attaching your own app is one-way: the service's app cannot be re-attached afterwards. When omitted, the attached app is unchanged. (Set via update because Meta ignores application_id at creation time.)
dict
Response Syntax
{}
Response Structure
(dict) --