---
title: "Block a contact"
method: PUT
path: "/v1/accounts/{account_id}/blocked/{jid}"
tags: ["Contacts"]
---

# Block a contact

`PUT /v1/accounts/{account_id}/blocked/{jid}`

## Request

- Base URL: `https://api.whatsmcp.com`
- URL: `https://api.whatsmcp.com/v1/accounts/{account_id}/blocked/{jid}`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

## Path parameters

- `account_id` string, required
- `jid` string, required: the contact — a phone number in international form or a full JID

## Response `200`

OK

- BlockOutput
  - `blocked` BlockedContact[], nullable: every contact on the account's blocklist (wa_list_blocked only)
    - `country` string: the country the contact's number belongs to; empty when no number is known
    - `jid` string, required: WhatsApp's own identifier for this contact, where the account knows it — otherwise the identifier you named
    - `name` string: the best available display name, from this account's own address book
    - `name_source` string: saved, business, or push — push names are chosen by the contact themselves
    - `phone` string: the contact's number in international form; empty for a LID-form entry whose number this account has never been told
  - `contact` BlockedContact
    - `country` string: the country the contact's number belongs to; empty when no number is known
    - `jid` string, required: WhatsApp's own identifier for this contact, where the account knows it — otherwise the identifier you named
    - `name` string: the best available display name, from this account's own address book
    - `name_source` string: saved, business, or push — push names are chosen by the contact themselves
    - `phone` string: the contact's number in international form; empty for a LID-form entry whose number this account has never been told
  - `refusal` Refusal
    - `account_status` string: when the number is not working: its status — starting, not_running, whatsapp_down, suspended, pairing, unlinked or locked
    - `account_status_reason` string: the detail of account_status, e.g. no_egress, stopped, no_plan
    - `message` string, required: a human-readable explanation
    - `reason` string, required: why the call was declined
    - `refused` boolean, required: true when the call was declined rather than performed
    - `retry_after_seconds` integer: seconds to wait before retrying; absent or 0 means retrying will not help
    - `since` string: when the number stopped working, RFC3339, when known
  - `status` string, required: ok (the operation succeeded) or refused (nothing was done)

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `409`: Conflict
- `422`: Unprocessable Entity
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/whatsmcp/apis/whatsmcp-api.md) · [All operations](https://skmtc.dev/whatsmcp/apis/whatsmcp-api/llms.txt) · [OpenAPI document](https://skmtc.dev/whatsmcp/apis/whatsmcp-api/revisions/719dc99224ce?raw)
