# deleteCampaign

Mutation

Hard-delete a campaign of a type the API provisions, exactly as deleting it in the app does. Irreversible.

Available to agents as MCP tool `deleteCampaign` — see [Write tools](/api/v2/docs/mcp/write-tools#delete-campaign).

## Arguments

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `input` | [`DeleteCampaignInput!`](/api/v2/docs/types/delete-campaign-input) | Yes | — | Mutation input. |

## Returns

| Name | Type | Description |
| --- | --- | --- |
| `deletedCampaignId` | `ID` | The id of the deleted campaign. Null when the campaign was not found. |
| `userErrors` | [`[UserError!]!`](/api/v2/docs/types/user-error) | List of user-facing errors. Populated only when deletion failed. |

## Examples

### Delete a campaign

Delete a campaign; its roster and posts list go with it, the creators and items survive.

```graphql
mutation DeleteCampaignDefault($input: DeleteCampaignInput!) {
  deleteCampaign(input: $input) {
    deletedCampaignId
    userErrors {
      field
      message
    }
  }
}
```

Variables:

```json
{
  "input": {
    "id": "422fac58-557c-5cd4-8986-84ac3db4b133"
  }
}
```

Response — HTTP 200:

```json
{
  "data": {
    "deleteCampaign": {
      "deletedCampaignId": "422fac58-557c-5cd4-8986-84ac3db4b133",
      "userErrors": []
    }
  }
}
```
