Appearance
WhatsApp Cloud API - WhatsApp Business QR Code API
Version
v23.0v24.0
Copy for LLM
API for managing individual WhatsApp Business Account message QR codes by their unique identifier.
Provides endpoints for retrieving and deleting specific message QR codes.
Message QR codes generate WhatsApp deep links with pre-filled messages that customers
can use to start conversations. Each QR code has a unique 14-character identifier.
Requirements: WhatsApp Business Account with whatsapp_business_management permission,
verified phone number, valid system user access token, and valid QR code identifier.
Base URL
| | | | https://graph.facebook.com |
Endpoints
| | | | GET | /{Version}/{Phone-Number-ID}/message_qrdls/{QR-Code-ID} | | DELETE | /{Version}/{Phone-Number-ID}/message_qrdls/{QR-Code-ID} |
GET /{Version}/{Phone-Number-ID}/message_qrdls/
Retrieve details for a specific QR code by its unique identifier.
Supports field selection and QR image generation. Response returns QR code in data array for consistency.
Request Syntax
GET /{Version}/{Phone-Number-ID}/message_qrdls/
Try it
Select language
cURLJavaScriptPython
curl --request GET \
--url 'https://graph.facebook.com/{Version}/{Phone-Number-ID}/message_qrdls/{QR-Code-ID}' \
--header 'Authorization: Bearer <Token>' \
--header 'Content-Type: application/json' \
--data '{}'Select status code
200400401403404500
{
"default_fields": {
"summary": "Default fields response",
"description": "Response with default fields (code, prefilled_message, deep_link_url)",
"value": {
"data": [
{
"code": "ANED2T5QRU7HG1",
"prefilled_message": "Show me Cyber Monday deals!",
"deep_link_url": "https://wa.me/message/ANED2T5QRU7HG1"
}
]
}
},
"with_qr_image_svg": {
"summary": "Response with SVG QR code image",
"description": "Response including QR code image URL in SVG format",
"value": {
"data": [
{
"code": "ANED2T5QRU7HG1",
"prefilled_message": "Show me Cyber Monday deals!",
"deep_link_url": "https://wa.me/message/ANED2T5QRU7HG1",
"qr_image_url": "https://scontent-iad3-1.xx.fbcdn.net/m1/v/t6/An-H7T8OyTqO07lcRGHlKteuPMKDnx07nua3dGb4i560bVxDscweOV4KoKD_4wCDFoHR_C5LyVjxQISKPxwora1bbFhUEo2nA19ZPLBUVoQSmV12l1x-nuu312jKty-5rmojmde_a0g?ccb=10-5&oh=00_AfASq_vjojFza_9A-HDeRgHM3wZ8yjNprpYBjNKOn8RkSg&oe=64550A9E&_nc_sid=f36290"
}
]
}
},
"with_creation_time": {
"summary": "Response with creation time (first-party apps only)",
"description": "Response including creation timestamp for first-party applications",
"value": {
"data": [
{
"code": "ANED2T5QRU7HG1",
"prefilled_message": "Show me Cyber Monday deals!",
"deep_link_url": "https://wa.me/message/ANED2T5QRU7HG1",
"creation_time": "1672531200"
}
]
}
}
}Header Parameters
User-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.
Phone-Number-IDstring·required
The WhatsApp Business Account phone number ID that owns the QR code.
This ID is provided when you add a phone number to your WhatsApp Business Account.
QR-Code-IDstring·required
The unique 14-character identifier of the QR code to retrieve.
This is the code value returned when the QR code was created.
Query Parameters
fieldsstring
Comma-separated list of fields to include in the response. Available fields:
- code: QR code identifier (always included)
- prefilled_message: Pre-filled message text (always included)
- deep_link_url: WhatsApp deep link URL (always included)
- creation_time: Unix timestamp when QR code was created (first-party apps only)
- qr_image_url.format(FORMAT): QR code image URL where FORMAT is SVG or PNG
Example: "code,prefilled_message,qr_image_url.format(SVG)"
Responses
Retrieve details for a specific QR code by its unique identifier.
Supports field selection and QR image generation. Response returns QR code in data array for consistency.
200
Successfully retrieved the message QR code details
Content Type: application/json
Schema: QrCodeResponse
Show child attributes
QrCodeResponse
dataarray of QrCodeDetails·required
Array containing the single QR code object (maintains consistency with collection endpoint)
Show child attributes
data[]QrCodeDetails
Complete details of a message QR code
Show child attributes
codestring·required
Unique 14-character QR code identifier
prefilled_messagestring·required
Pre-filled message text that appears in customer chat
deep_link_urlstring (uri)·required
WhatsApp deep link URL for direct conversation initiation
creation_timestring
Creation timestamp (first-party apps only)
qr_image_urlstring (uri)
QR code image download URL (when format specified in fields)
400
Bad Request - Invalid QR code ID format or parameters
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 - Phone number ID or QR code does not exist
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
curl --request GET \
--url 'https://graph.facebook.com/{Version}/{Phone-Number-ID}/message_qrdls/{QR-Code-ID}' \
--header 'Authorization: Bearer <Token>' \
--header 'Content-Type: application/json' \
--data '{}'Select status code
200400401403404500
{
"default_fields": {
"summary": "Default fields response",
"description": "Response with default fields (code, prefilled_message, deep_link_url)",
"value": {
"data": [
{
"code": "ANED2T5QRU7HG1",
"prefilled_message": "Show me Cyber Monday deals!",
"deep_link_url": "https://wa.me/message/ANED2T5QRU7HG1"
}
]
}
},
"with_qr_image_svg": {
"summary": "Response with SVG QR code image",
"description": "Response including QR code image URL in SVG format",
"value": {
"data": [
{
"code": "ANED2T5QRU7HG1",
"prefilled_message": "Show me Cyber Monday deals!",
"deep_link_url": "https://wa.me/message/ANED2T5QRU7HG1",
"qr_image_url": "https://scontent-iad3-1.xx.fbcdn.net/m1/v/t6/An-H7T8OyTqO07lcRGHlKteuPMKDnx07nua3dGb4i560bVxDscweOV4KoKD_4wCDFoHR_C5LyVjxQISKPxwora1bbFhUEo2nA19ZPLBUVoQSmV12l1x-nuu312jKty-5rmojmde_a0g?ccb=10-5&oh=00_AfASq_vjojFza_9A-HDeRgHM3wZ8yjNprpYBjNKOn8RkSg&oe=64550A9E&_nc_sid=f36290"
}
]
}
},
"with_creation_time": {
"summary": "Response with creation time (first-party apps only)",
"description": "Response including creation timestamp for first-party applications",
"value": {
"data": [
{
"code": "ANED2T5QRU7HG1",
"prefilled_message": "Show me Cyber Monday deals!",
"deep_link_url": "https://wa.me/message/ANED2T5QRU7HG1",
"creation_time": "1672531200"
}
]
}
}
}DELETE /{Version}/{Phone-Number-ID}/message_qrdls/
Permanently delete a specific QR code. Once deleted, the QR code and deep link become invalid.
Deletion cannot be undone and affects any existing marketing materials using the QR code.
Request Syntax
DELETE /{Version}/{Phone-Number-ID}/message_qrdls/
Try it
Select language
cURLJavaScriptPython
curl --request DELETE \
--url 'https://graph.facebook.com/{Version}/{Phone-Number-ID}/message_qrdls/{QR-Code-ID}' \
--header 'Authorization: Bearer <Token>' \
--header 'Content-Type: application/json' \
--data '{}'Select status code
200400401403404500
{
"successful_deletion": {
"summary": "QR code successfully deleted",
"description": "Confirmation that the QR code has been permanently deleted",
"value": {
"success": true
}
}
}Header Parameters
User-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.
Phone-Number-IDstring·required
The WhatsApp Business Account phone number ID that owns the QR code to be deleted.
This ID is provided when you add a phone number to your WhatsApp Business Account.
QR-Code-IDstring·required
The unique 14-character identifier of the QR code to delete.
This is the code value returned when the QR code was created.
Responses
Permanently delete a specific QR code. Once deleted, the QR code and deep link become invalid.
Deletion cannot be undone and affects any existing marketing materials using the QR code.
200
Successfully deleted the message QR code
Content Type: application/json
Schema: DeleteQrCodeResponse
Show child attributes
DeleteQrCodeResponse
successboolean·required
Indicates whether the QR code was successfully deleted
400
Bad Request - Invalid QR code ID format
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 - Phone number ID or QR code does not exist
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
curl --request DELETE \
--url 'https://graph.facebook.com/{Version}/{Phone-Number-ID}/message_qrdls/{QR-Code-ID}' \
--header 'Authorization: Bearer <Token>' \
--header 'Content-Type: application/json' \
--data '{}'Select status code
200400401403404500
{
"successful_deletion": {
"summary": "QR code successfully deleted",
"description": "Confirmation that the QR code has been permanently deleted",
"value": {
"success": true
}
}
}Authentication
| | | | Scheme | Type | Location | | bearerAuth | HTTP Bearer | Header: Authorization |
Usage Examples
bearerAuth:
Include Authorization: Bearer your-token-here in request headers
Global Authentication Requirements
All endpoints require:
bearerAuth