---
title: "Remove Tag from Monitor"
description: "Removes a tag assignment from a monitor. The caller must have read access to the monitor."
---

`DELETE /api/monitor-tags`

## Body

```json
{
  "monitorType": "website",
  "monitorId": 101,
  "tagId": 1
}
```

- `monitorType` (required): Type of the monitor. One of: `website` | `dns` | `icmp` | `smtp` | `ssh` | `tcp` | `ftp` | `imap_pop` | `customer_domain` | `customer_ip`. Use `customer_domain` for domain (SSL/expiry) monitors and `customer_ip` for DNSBL/blacklist monitors.
- `monitorId` (required): Numeric ID of the monitor.
- `tagId` (required): Numeric ID of the tag to remove.

## Example (cURL)

```bash
BASE_URL="https://uptimeify.io"
TOKEN="<your-api-token>"

curl -X DELETE "$BASE_URL/api/monitor-tags" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"monitorType":"website","monitorId":101,"tagId":1}'
```

## Response

Returns `204 No Content` on success.

## Common errors

- `400 Bad Request` when `monitorType` is not a supported type
- `401 Unauthorized` when you are not logged in
- `403 Forbidden` when you do not have read access to the monitor
- `404 Not Found` when the assignment does not exist
