> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://apidocs.me-mate.net/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://apidocs.me-mate.net/_mcp/server.

# https://business.me-mate.net/api/betav3/tagmanage/tag/removeTagFromContacts

POST https://business.me-mate.net/api/betav3/tagmanage/tag/removeTagFromContacts
Content-Type: application/json

## Purpose

Remove one or more tags from one or more contacts (phone numbers) within a specific contact list. The API queues a background job to process the tag removals.

## Endpoint

* **Method:** `POST`

* **URL:** `https://business.me-mate.net/api/betav3/tagmanage/tag/removeTagFromContacts`

## Required Headers

* `X-Requested-With: XMLHttpRequest`

## Auth / Variables

* `api_key` (required): pass as a variable using `{{api_key}}`.
  * Recommended: store `api_key` as a **collection/environment** variable in Postman.

## Request Body Schema

Content-Type: JSON (raw)

```json
{
  "api_key": "string",
  "contacts": [
    {
      "contactListId": "string",
      "numbers": ["string"],
      "tagRemove": [0]
    }
  ]
}

```

### Field Explanations

* `api_key` *(string, required)*: API key used to authorize the request.

* `contacts` *(array, required)*: One or more contact-list batches to process.

  * `contactListId` *(string, required)*: Identifier of the contact list containing the contacts.

  * `numbers` *(array of strings, required)*: Phone numbers to remove tags from.

    * **Note on formatting:** Use a consistent numeric format (typically country code + number, no spaces). Ensure the format matches how numbers are stored in your contact list.

  * `tagRemove` *(array of integers, required)*: Tag IDs to remove from the specified `numbers`.

    * **Note:** Values in `tagRemove` are **tag IDs** (not tag names).

## Example Request Payload

```json
{"api_key":"{{api_key}}","contacts":[{"contactListId":"113056","numbers":["91913632xxxx","91945645xxxx"],"tagRemove":[274,275]}]}

```

## Example Successful Response (200)

```json
{"status":true,"msg":"Tag remove jobs queued","queued_jobs":1,"skipped_items":0}

```

### Response Fields (high level)

* `status` *(boolean)*: Indicates whether the request was accepted.

* `msg` *(string)*: Human-readable message.

* `queued_jobs` *(number)*: How many jobs were queued for processing.

* `skipped_items` *(number)*: How many items were skipped.

## Common Error Cases

* **4xx**: Invalid/missing `api_key`, invalid request body (missing/incorrect fields), invalid contact list or numbers.

* **5xx**: Server-side error while accepting/queuing the job.

Reference: https://apidocs.me-mate.net/business-me-mate-net-ap-is-document-v-1-0/manage-contact/add-remove-tags-to-contact-number/remove/https-business-me-mate-net-api-betav-3-tagmanage-tag-remove-tag-from-contacts

## Request

### Headers

- `X-Requested-With` (string, optional)

### Body (application/json)

This endpoint expects an object.

- `api_key` (string, required)
- `contacts` (list of object, required)
  - `numbers` (list of string, required)
  - `tagRemove` (list of integer, required)
  - `contactListId` (string, required)

## Response

### 200

OK

- `msg` (string, required)
- `status` (boolean, required)
- `queued_jobs` (integer, required)
- `skipped_items` (integer, required)

## Examples

**Request**

```json
{
  "api_key": "a1b2c3d4e5f67890abcdef1234567890",
  "contacts": [
    {
      "numbers": [
        "919136321234",
        "919456451234"
      ],
      "tagRemove": [
        274,
        275
      ],
      "contactListId": "113056"
    }
  ]
}
```

**Response**

```json
{
  "msg": "Tag remove jobs queued",
  "status": true,
  "queued_jobs": 1,
  "skipped_items": 0
}
```

**SDK Code**

```python
import requests

url = "https://business.me-mate.net/api/betav3/tagmanage/tag/removeTagFromContacts"

payload = {
    "api_key": "a1b2c3d4e5f67890abcdef1234567890",
    "contacts": [
        {
            "numbers": ["919136321234", "919456451234"],
            "tagRemove": [274, 275],
            "contactListId": "113056"
        }
    ]
}
headers = {
    "X-Requested-With": "XMLHttpRequest",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript
const url = 'https://business.me-mate.net/api/betav3/tagmanage/tag/removeTagFromContacts';
const options = {
  method: 'POST',
  headers: {'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/json'},
  body: '{"api_key":"a1b2c3d4e5f67890abcdef1234567890","contacts":[{"numbers":["919136321234","919456451234"],"tagRemove":[274,275],"contactListId":"113056"}]}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://business.me-mate.net/api/betav3/tagmanage/tag/removeTagFromContacts"

	payload := strings.NewReader("{\n  \"api_key\": \"a1b2c3d4e5f67890abcdef1234567890\",\n  \"contacts\": [\n    {\n      \"numbers\": [\n        \"919136321234\",\n        \"919456451234\"\n      ],\n      \"tagRemove\": [\n        274,\n        275\n      ],\n      \"contactListId\": \"113056\"\n    }\n  ]\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("X-Requested-With", "XMLHttpRequest")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://business.me-mate.net/api/betav3/tagmanage/tag/removeTagFromContacts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["X-Requested-With"] = 'XMLHttpRequest'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"api_key\": \"a1b2c3d4e5f67890abcdef1234567890\",\n  \"contacts\": [\n    {\n      \"numbers\": [\n        \"919136321234\",\n        \"919456451234\"\n      ],\n      \"tagRemove\": [\n        274,\n        275\n      ],\n      \"contactListId\": \"113056\"\n    }\n  ]\n}"

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://business.me-mate.net/api/betav3/tagmanage/tag/removeTagFromContacts")
  .header("X-Requested-With", "XMLHttpRequest")
  .header("Content-Type", "application/json")
  .body("{\n  \"api_key\": \"a1b2c3d4e5f67890abcdef1234567890\",\n  \"contacts\": [\n    {\n      \"numbers\": [\n        \"919136321234\",\n        \"919456451234\"\n      ],\n      \"tagRemove\": [\n        274,\n        275\n      ],\n      \"contactListId\": \"113056\"\n    }\n  ]\n}")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://business.me-mate.net/api/betav3/tagmanage/tag/removeTagFromContacts', [
  'body' => '{
  "api_key": "a1b2c3d4e5f67890abcdef1234567890",
  "contacts": [
    {
      "numbers": [
        "919136321234",
        "919456451234"
      ],
      "tagRemove": [
        274,
        275
      ],
      "contactListId": "113056"
    }
  ]
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'X-Requested-With' => 'XMLHttpRequest',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://business.me-mate.net/api/betav3/tagmanage/tag/removeTagFromContacts");
var request = new RestRequest(Method.POST);
request.AddHeader("X-Requested-With", "XMLHttpRequest");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"api_key\": \"a1b2c3d4e5f67890abcdef1234567890\",\n  \"contacts\": [\n    {\n      \"numbers\": [\n        \"919136321234\",\n        \"919456451234\"\n      ],\n      \"tagRemove\": [\n        274,\n        275\n      ],\n      \"contactListId\": \"113056\"\n    }\n  ]\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = [
  "X-Requested-With": "XMLHttpRequest",
  "Content-Type": "application/json"
]
let parameters = [
  "api_key": "a1b2c3d4e5f67890abcdef1234567890",
  "contacts": [
    [
      "numbers": ["919136321234", "919456451234"],
      "tagRemove": [274, 275],
      "contactListId": "113056"
    ]
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://business.me-mate.net/api/betav3/tagmanage/tag/removeTagFromContacts")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```