# POST /v4/campaign-lists/{owner}/{name}/remove

_Merkl API_

Remove the provided campaign IDs from a list. If the list becomes empty, it is deleted. Requires the owner's JWT or API key.

### Path parameters

- `owner` (string) _(required)_
- `name` (string) _(required)_

## Request body

**`application/json`**
```json
{
  "type": "object",
  "properties": {
    "campaignIds": {
      "description": "Campaign IDs to include in the list. Each entry is either an internal hash (`Campaign.id`) or a `{ distributionChain, campaignId }` composite.",
      "type": "array",
      "items": {
        "anyOf": [
          {
            "minLength": 1,
            "description": "Internal campaign ID (hash string)",
            "type": "string"
          },
          {
            "description": "Composite identifier `{ distributionChain, campaignId }`",
            "type": "object",
            "properties": {
              "distributionChain": {
                "description": "Distribution chain ID",
                "type": "number"
              },
              "campaignId": {
                "minLength": 1,
                "description": "Onchain campaign ID",
                "type": "string"
              }
            },
            "required": [
              "distributionChain",
              "campaignId"
            ]
          }
        ]
      }
    }
  },
  "required": [
    "campaignIds"
  ]
}
```
**`application/x-www-form-urlencoded`**
```json
{
  "type": "object",
  "properties": {
    "campaignIds": {
      "description": "Campaign IDs to include in the list. Each entry is either an internal hash (`Campaign.id`) or a `{ distributionChain, campaignId }` composite.",
      "type": "array",
      "items": {
        "anyOf": [
          {
            "minLength": 1,
            "description": "Internal campaign ID (hash string)",
            "type": "string"
          },
          {
            "description": "Composite identifier `{ distributionChain, campaignId }`",
            "type": "object",
            "properties": {
              "distributionChain": {
                "description": "Distribution chain ID",
                "type": "number"
              },
              "campaignId": {
                "minLength": 1,
                "description": "Onchain campaign ID",
                "type": "string"
              }
            },
            "required": [
              "distributionChain",
              "campaignId"
            ]
          }
        ]
      }
    }
  },
  "required": [
    "campaignIds"
  ]
}
```
**`multipart/form-data`**
```json
{
  "type": "object",
  "properties": {
    "campaignIds": {
      "description": "Campaign IDs to include in the list. Each entry is either an internal hash (`Campaign.id`) or a `{ distributionChain, campaignId }` composite.",
      "type": "array",
      "items": {
        "anyOf": [
          {
            "minLength": 1,
            "description": "Internal campaign ID (hash string)",
            "type": "string"
          },
          {
            "description": "Composite identifier `{ distributionChain, campaignId }`",
            "type": "object",
            "properties": {
              "distributionChain": {
                "description": "Distribution chain ID",
                "type": "number"
              },
              "campaignId": {
                "minLength": 1,
                "description": "Onchain campaign ID",
                "type": "string"
              }
            },
            "required": [
              "distributionChain",
              "campaignId"
            ]
          }
        ]
      }
    }
  },
  "required": [
    "campaignIds"
  ]
}
```

## Responses

- **200** Response for status 200

## Example request

```bash
curl -X POST "https://api.merkl.xyz//v4/campaign-lists/{owner}/{name}/remove" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
```