---
title: "Send Encrypted Message"
method: POST
path: "/{Version}/{Phone-Number-ID}/messages_encrypted"
tags: ["Encrypted Messages"]
---

# Send Encrypted Message

`POST /{Version}/{Phone-Number-ID}/messages_encrypted`

## Request

- Base URL: `https://graph.facebook.com`
- URL: `https://graph.facebook.com/{Version}/{Phone-Number-ID}/messages_encrypted`
- Auth: HTTP bearer

Send encrypted messages using JWE (JSON Web Encryption) format. This endpoint provides an additional layer of security on top of existing standard TLS/SSL by accepting pre-encrypted message payloads and returning encrypted responses.

**Important Notes:**
- Only successful responses will be encrypted
- Error responses will be returned unencrypted if the underlying JSON is incorrectly formatted
- Payload encryption must be enabled for the phone number using the `POST /<Phone-Number-ID>/settings` endpoint
- The encrypted payload must follow the same structure as the original `/messages` endpoint

**Prerequisites:**
- User Access Token with `whatsapp_business_messaging` permission
- Valid `Phone-Number-ID` for your registered WhatsApp Business account
- Payload encryption enabled for the phone number
- Properly formatted JWE token containing encrypted message payload using supported algorithms

**Supported Algorithms:**
- **Content Encryption:** A128GCM, A256GCM...

## Path parameters

- `Version` string, required
- `Phone-Number-ID` string, required

## Headers

- `User-Agent` string
- `Authorization` string, required
- `Content-Type` 'application/json' | 'application/x-www-form-urlencoded' | 'multipart/form-data', required

## Request body

- EncryptedMessageRequest
  - `messaging_product` 'whatsapp', required: Messaging service used for the request. Use whatsapp.
  - `encrypted_contents` string, required: JWE payload with encrypted messages structure. This should be a valid JWE token containing the encrypted message payload.

## Response `200`

Encrypted message sent successfully

- EncryptedMessageResponse
  - `encrypted_contents` string, required: JWE payload with encrypted messages response structure. Contains the encrypted response from the WhatsApp Business API.

## Other responses

- `400`: Bad Request - Invalid JWE token or malformed request. Note: Error responses are returned unencrypted even when payload encryption is enabled.
- `401`: Unauthorized - Invalid access token. Note: Error responses are returned unencrypted.
- `403`: Forbidden - Insufficient permissions. Note: Error responses are returned unencrypted.
- `429`: Too Many Requests - Rate limit exceeded. Note: Error responses are returned unencrypted.
- `500`: Internal Server Error. Note: Error responses are returned unencrypted.

---

[API](https://skmtc.dev/meta/apis/whatsapp-business-messaging.md) - [All operations](https://skmtc.dev/meta/apis/whatsapp-business-messaging/llms.txt) - [OpenAPI document](https://skmtc.dev/meta/apis/whatsapp-business-messaging/revisions/5c1973265369?raw)
