# bulkRemoveLabelsFromCreators

Mutation

Remove label assignments from up to 1,000 creators in the background; returns an operationId to poll with `operation(id:)`.

Available to agents as MCP tool `bulkRemoveLabelsFromCreators` — see [Write tools](/api/v2/docs/mcp/write-tools#bulk-remove-labels-from-creators).

## Arguments

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `creatorIds` | `[ID!]!` | Yes | — | Creator ids to unlabel, as returned by `searchCreators` or `creator`. At least 1 and at most 1000. An id that does not resolve in this workspace is skipped and returned in `skippedCreatorIds`; the rest are scheduled. |
| `labelNames` | `[String!]!` | Yes | — | Label names to unassign. At least 1 and at most 50. Names are not length-capped, so a longer existing label stays removable. Matching ignores case and surrounding whitespace. |

## Returns

| Name | Type | Description |
| --- | --- | --- |
| `acceptedCount` | `Int!` | Number of distinct creators scheduled. |
| `operationId` | `ID` | The background operation; poll it with `operation(id:)` and its per-creator outcomes with `operationRecords`. Null when `scheduled` is false. |
| `scheduled` | `Boolean!` | True when an operation was scheduled. False when userErrors is non-empty or when no creator id resolved in this workspace. |
| `skippedCreatorIds` | `[ID!]!` | Submitted creator ids that do not resolve in this workspace and were not scheduled. |
| `userErrors` | [`[UserError!]!`](/api/v2/docs/types/user-error) | Errors that refused the whole request: an empty or oversized list, a blank name, too many label bulk operations already in flight, or a workspace with no user to attribute the operation to. Empty on success. |

## Examples

### Bulk remove labels from creators

Schedule a background operation that removes a label from many creators; the label itself stays.

```graphql
mutation BulkRemoveLabelsFromCreatorsDefault($creatorIds: [ID!]!, $labelNames: [String!]!) {
  bulkRemoveLabelsFromCreators(creatorIds: $creatorIds, labelNames: $labelNames) {
    scheduled
    operationId
    acceptedCount
    skippedCreatorIds
    userErrors {
      field
      message
    }
  }
}
```

Variables:

```json
{
  "creatorIds": [
    "5e6f95ca-070b-5cef-8e0c-08d855365419"
  ],
  "labelNames": [
    "vip"
  ]
}
```

Response — HTTP 200:

```json
{
  "data": {
    "bulkRemoveLabelsFromCreators": {
      "scheduled": true,
      "operationId": "05034d30-4102-538c-b292-a592d0b9feda",
      "acceptedCount": 1,
      "skippedCreatorIds": [],
      "userErrors": []
    }
  }
}
```
