Skip to content

Block users

Updated: Jun 26, 2026

You can block and unblock WhatsApp users and retrieve a list of blocked users using the Block Users API.

Before you start

When you block a WhatsApp user:

  • The user cannot contact your business or see that you are online.
  • Your business cannot message the user. Attempts to message a blocked user return an error.

The API returns errors per-number, since blocks might succeed on some numbers and fail on others. The Block Users API is synchronous.

Limitations

  • You can only block users that have messaged your business in the last 24 hours.
  • You cannot block another WhatsApp Business account.
  • Each request can include a maximum of 1,000 users.
  • The blocklist has a 64,000 user limit.

Block a user

Use the Block Users API to block a list of WhatsApp users.

Request syntax

curl 'https://graph.facebook.com/<API_VERSION>/<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/block_users' \  
-H 'Content-Type: application/json' \  
-H 'Authorization: Bearer <ACCESS_TOKEN>' \  
-d '  
{  
  "messaging_product": "whatsapp",  
  "block_users": [  
    {  
      "user": "<WHATSAPP_USER_PHONE_NUMBER>"  
    }  
  ]  
}'

Request parameters

PlaceholderDescriptionExample Value
<ACCESS_TOKEN> StringRequired. System token or business token.EAAA...
<API_VERSION> StringOptional. Graph API version.v25.0
<WHATSAPP_BUSINESS_PHONE_NUMBER_ID> StringRequired. WhatsApp business phone number ID.106540352242922
<WHATSAPP_USER_PHONE_NUMBER> StringRequired. WhatsApp user phone number. This is the same value returned by the API as the input value when sending a message to a WhatsApp user. Note that a WhatsApp user's phone number and ID may not always match.+16505551234

Response syntax

{  
  "messaging_product": "whatsapp",  
  "block_users": {  
    "added_users": [  
      {  
        "input": "<WHATSAPP_USER_PHONE_NUMBER>",  
        "wa_id": "<WHATSAPP_USER_ID>"  
      }  
    ],  
    "failed_users": [  
      {  
        "input": "<WHATSAPP_USER_PHONE_NUMBER>",  
        "wa_id": "<WHATSAPP_USER_ID>",  
        "errors": [  
          {  
            "message": "<MESSAGE>",  
            "code": "<CODE>",  
            "error_data": {  
              "details": "<DETAILS>"  
            }  
          }  
        ]  
      }  
    ]  
  }  
}

Response parameters

FieldDescriptionExample Value
<CODE> IntegerError code. See Error codes below. Only present in failed_users.131047
<DETAILS> StringAdditional detail about the error. Only present in failed_users.User has not messaged in the last 24 hours
<MESSAGE> StringError message describing why the block failed. Only present in failed_users.Re-engagement required
<WHATSAPP_USER_ID> StringWhatsApp user ID. Note that a WhatsApp user's ID and phone number may not always match. Returned as wa_id. May not be present in failed_users if the number is invalid.16505551234
<WHATSAPP_USER_PHONE_NUMBER> StringWhatsApp user phone number. This is the same value returned by the API as the input value when sending a message to a WhatsApp user. Note that a WhatsApp user's phone number and ID may not always match. Returned as input in both added_users and failed_users arrays.+16505551234

Example request

This example blocks two WhatsApp users.

curl 'https://graph.facebook.com/v25.0/106540352242922/block_users' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
  "messaging_product": "whatsapp",
  "block_users": [
    {
      "user": "+16505551234"
    },
    {
      "user": "+14155559876"
    }
  ]
}'

Example response

Successful response when all users are blocked:

{  
  "messaging_product": "whatsapp",  
  "block_users": {  
    "added_users": [  
      {  
        "input": "+16505551234",  
        "wa_id": "16505551234"  
      },  
      {  
        "input": "+14155559876",  
        "wa_id": "14155559876"  
      }  
    ]  
  }  
}

Mixed success/failure response when some users cannot be blocked:

{  
  "messaging_product": "whatsapp",  
  "block_users": {  
    "added_users": [  
      {  
        "input": "+16505551234",  
        "wa_id": "16505551234"  
      }  
    ],  
    "failed_users": [  
      {  
        "input": "+14155559876",  
        "wa_id": "14155559876",  
        "errors": [  
          {  
            "message": "Re-engagement required",  
            "code": 131047,  
            "error_data": {  
              "details": "User has not messaged in the last 24 hours"  
            }  
          }  
        ]  
      }  
    ]  
  },  
  "error": {  
    "message": "(#139100) Failed to block/unblock users",  
    "type": "OAuthException",  
    "code": 139100,  
    "error_data": {  
      "details": "Failed to block some users, see the block_users response list for details"  
    },  
    "fbtrace_id": "<FBTRACE_ID>"  
  }  
}

Unblock a user

Use the Block Users API to unblock a list of WhatsApp users.

Request syntax

curl -X DELETE 'https://graph.facebook.com/<API_VERSION>/<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/block_users' \  
-H 'Content-Type: application/json' \  
-H 'Authorization: Bearer <ACCESS_TOKEN>' \  
-d '  
{  
  "messaging_product": "whatsapp",  
  "block_users": [  
    {  
      "user": "<WHATSAPP_USER_PHONE_NUMBER>"  
    }  
  ]  
}'

Request parameters

PlaceholderDescriptionExample Value
<ACCESS_TOKEN> StringRequired. System token or business token.EAAA...
<API_VERSION> StringOptional. Graph API version.v25.0
<WHATSAPP_BUSINESS_PHONE_NUMBER_ID> StringRequired. WhatsApp business phone number ID.106540352242922
<WHATSAPP_USER_PHONE_NUMBER> StringRequired. WhatsApp user phone number. This is the same value returned by the API as the input value when sending a message to a WhatsApp user. Note that a WhatsApp user's phone number and ID may not always match.+16505551234

Response syntax

{  
  "messaging_product": "whatsapp",  
  "block_users": {  
    "removed_users": [  
      {  
        "input": "<WHATSAPP_USER_PHONE_NUMBER>",  
        "wa_id": "<WHATSAPP_USER_ID>"  
      }  
    ],  
    "failed_users": [  
      {  
        "input": "<WHATSAPP_USER_PHONE_NUMBER>",  
        "wa_id": "<WHATSAPP_USER_ID>",  
        "errors": [  
          {  
            "message": "<MESSAGE>",  
            "code": "<CODE>",  
            "error_data": {  
              "details": "<DETAILS>"  
            }  
          }  
        ]  
      }  
    ]  
  }  
}

Response parameters

FieldDescriptionExample Value
<WHATSAPP_USER_PHONE_NUMBER> StringWhatsApp user phone number. This is the same value returned by the API as the input value when sending a message to a WhatsApp user. Note that a WhatsApp user's phone number and ID may not always match. Returned as input in both removed_users and failed_users arrays.+16505551234
<WHATSAPP_USER_ID> StringWhatsApp user ID. Note that a WhatsApp user's ID and phone number may not always match. Returned as wa_id. May not be present in failed_users if the number is invalid.16505551234
<MESSAGE> StringError message describing why the unblock failed. Only present in failed_users.Re-engagement required
<CODE> IntegerError code. See Error codes below. Only present in failed_users.131047
<DETAILS> StringAdditional detail about the error. Only present in failed_users.User has not messaged in the last 24 hours

Example request

This example unblocks two previously blocked WhatsApp users.

curl -X DELETE 'https://graph.facebook.com/v25.0/106540352242922/block_users' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
  "messaging_product": "whatsapp",
  "block_users": [
    {
      "user": "+16505551234"
    },
    {
      "user": "+14155559876"
    }
  ]
}'

Example response

Successful response when all users are unblocked:

{  
  "messaging_product": "whatsapp",  
  "block_users": {  
    "removed_users": [  
      {  
        "input": "+16505551234",  
        "wa_id": "16505551234"  
      },  
      {  
        "input": "+14155559876",  
        "wa_id": "14155559876"  
      }  
    ]  
  }  
}

Mixed success/failure response when some users cannot be unblocked:

{  
  "messaging_product": "whatsapp",  
  "block_users": {  
    "removed_users": [  
      {  
        "input": "+16505551234",  
        "wa_id": "16505551234"  
      }  
    ],  
    "failed_users": [  
      {  
        "input": "+14155559876",  
        "wa_id": "14155559876",  
        "errors": [  
          {  
            "message": "Re-engagement required",  
            "code": 131047,  
            "error_data": {  
              "details": "User has not messaged in the last 24 hours"  
            }  
          }  
        ]  
      }  
    ]  
  },  
  "error": {  
    "message": "(#139100) Failed to block/unblock users",  
    "type": "OAuthException",  
    "code": 139100,  
    "error_data": {  
      "details": "Failed to unblock some users, see the block_users response list for details"  
    },  
    "fbtrace_id": "<FBTRACE_ID>"  
  }  
}

Get blocked users

Use the Block Users API to get a list of blocked users on your WhatsApp Business phone number.

Request syntax

curl 'https://graph.facebook.com/<API_VERSION>/<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/block_users?limit=<LIMIT>&after=<AFTER_CURSOR>&before=<BEFORE_CURSOR>' \  
-H 'Authorization: Bearer <ACCESS_TOKEN>'

Request parameters

PlaceholderDescriptionExample Value
<ACCESS_TOKEN> StringRequired. System token or business token.EAAA...
<API_VERSION> StringOptional. Graph API version.v25.0
<WHATSAPP_BUSINESS_PHONE_NUMBER_ID> StringRequired. WhatsApp business phone number ID.106540352242922
<LIMIT> IntegerOptional. Maximum number of blocked users to return per request.10
<AFTER_CURSOR> StringOptional. Cursor for forward pagination. Learn more about paginated results in Graph API.eyJvZAmZAzZAXQ...
<BEFORE_CURSOR> StringOptional. Cursor for backward pagination. Learn more about paginated results in Graph API.eyJvZAmZAzZAXQ...

Response syntax

{  
  "data": [  
    {  
      "messaging_product": "whatsapp",  
      "wa_id": "<WHATSAPP_USER_ID>"  
    }  
  ],  
  "paging": {  
    "cursors": {  
      "after": "<AFTER_CURSOR>",  
      "before": "<BEFORE_CURSOR>"  
    }  
  }  
}

Response parameters

FieldDescriptionExample Value
<WHATSAPP_USER_ID> StringWhatsApp user ID. Note that a WhatsApp user's ID and phone number may not always match. Returned as wa_id in each object in the data array.16505551234
<AFTER_CURSOR> StringCursor for forward pagination. Learn more about paginated results in Graph API.eyJvZAmZAzZAXQ...
<BEFORE_CURSOR> StringCursor for backward pagination. Learn more about paginated results in Graph API.eyJvZAmZAzZAXQ...

Example request

This example retrieves up to 10 blocked users.

curl 'https://graph.facebook.com/v25.0/106540352242922/block_users?limit=10' \
-H 'Authorization: Bearer EAAJB...'

Example response

{  
  "data": [  
    {  
      "messaging_product": "whatsapp",  
      "wa_id": "16505551234"  
    },  
    {  
      "messaging_product": "whatsapp",  
      "wa_id": "14155559876"  
    }  
  ],  
  "paging": {  
    "cursors": {  
      "after": "eyJvZAmZAzZAXQiOjAsInZAlcnNpb25JZACI6IjE3Mzc2Nzk2ODgzODM1ODQifQZDZD",  
      "before": "eyJvZAmZAzZAXQiOjAsInZAlcnNpb25JZACI6IjE3Mzc2Nzk2ODgzODM1ODQifQZDZD"  
    }  
  }  
}

Error codes

CodeDescription
139100 Failed to block/unblock some usersBulk blocking failed to block some or all of the users.
139101 Blocklist limit reachedThe blocklist has reached its 64,000 user limit.
139102 Blocklist concurrent updateOccurs when the blocklist is updated while performing a pagination request and version_id does not match.
139103 Internal errorInternal error. Try the request again.
130429 Rate limit hitOccurs when either too many numbers are in the request or too many requests are made over a short period of time.
131021 Self blockCannot block your own phone number.
131047 Re-engagement requiredThe WhatsApp user has not messaged your business in the last 24 hours. This error also occurs if the number is an invalid WhatsApp user.

Unofficial mirror for reference/search purposes. All content originates from developers.facebook.com — see the source link at the top of each page. Machine-readable indexes: llms.txt · llms-full.txt · About