---
title: "POST /list/{listId}/entity/remove"
method: POST
path: "/list/{listId}/entity/remove"
tags: ["List"]
---

# POST /list/{listId}/entity/remove

`POST /list/{listId}/entity/remove`

## Request

- Base URL: `https://api.recordedfuture.com`
- URL: `https://api.recordedfuture.com/list/{listId}/entity/remove`
- Auth: one of:
  - API key in header `X-RFToken`
  - OAuth 2
    - Authorization code: `https://id.recordedfuture.com/authorize`
    - Token URL: `https://id.recordedfuture.com/token`

Removes a single entity from the specified list.

## Path parameters

- `listId` string, required

## Request body

- object
  - `entity` union, required
    - EntityById
      - `id` string
    - EntityByTypeAndName
      - `type` 'IpAddress' | 'InternetDomainName' | 'Hash' | 'CyberVulnerability' | 'ASNumber' | 'Company' | 'Organization' | 'Product' | 'Technology' | 'CyberExploitTargetCategory' | 'ProductIdentifier' | 'Industry' | 'City' | 'Country' | 'Continent' | 'Region' | 'ProvinceOrState' | 'Operation' | 'Person' | 'CyberThreatActorCategory' | 'Username' | 'Malware' | 'MalwareCategory' | 'AttackVector' | 'MitreAttackIdentifier' | 'MitreAttackICSIdentifier' | 'Facility' | 'Airport' | 'Embassy' | 'MilitaryBase' | 'Port' | 'MICR': Different lists have different limitations in terms of entity types, some lists have no limitations in terms of entity types, consult the specific list you are trying to update.
      - `name` string

## Response `200`

Success — returns `unchanged` if the entity was not on the list.

- RemoveOperationResponse
  - `result` 'removed' | 'unchanged', required: `removed` if the entity was removed, or `unchanged` if the entity was not on the list.

## Other responses

- `400`: Invalid Request
- `404`: List not found
- `429`: Too Many Requests

---

[API](https://skmtc.dev/recordedfuture/apis/list-api.md) - [All operations](https://skmtc.dev/recordedfuture/apis/list-api/llms.txt) - [OpenAPI document](https://skmtc.dev/recordedfuture/apis/list-api/revisions/95042b3bf39c?raw)
