# UpdateChannelFields

> Update a channel's name, display name, UTM values, status or media kind. Write access, channels toolset, MCP tool update_channel_fields.

**Access:** [Write](https://developer.missin.co.uk/get-started/authentication.md#access-levels)

## Variables

| Variable | Type | Required | Accepts | Description |
|---|---|---|---|---|
| `body` | `JSON!` | yes | Object, fields below | Any subset of the writable columns, in snake_case column names. Blank text and media_kind accept null to mean 'not set'. |
| `channelId` | `UUID!` | yes |  |  |

## Input types

### `body`

| Field | Type | Required | Accepts | Description |
|---|---|---|---|---|
| `name` | string | no | 1 to 120 characters |  |
| `display_name` | string or null | no | at most 120 characters |  |
| `utm_source` | string or null | no | at most 120 characters |  |
| `utm_medium` | string or null | no | at most 120 characters |  |
| `utm_content` | string or null | no | at most 120 characters |  |
| `status` | string | no | One of `ACTIVE`, `DISABLED`, `DROPPED` |  |
| `media_kind` | string or null | no | One of `IMAGE_POST`, `SHORT_VIDEO`, `LONG_VIDEO`, `STORY`, `LIVE`, `TEXT_POST`, `ADVERTISEMENT` |  |

## Call it

```bash curl
curl https://api.missin.co.uk/graphql/v1 \
  -H "Authorization: Bearer $MISSIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"operationName":"UpdateChannelFields","variables":{"body":{"display_name":"Newsletter"},"channelId":"00000000-0000-0000-0000-000000000000"},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"5401a28bf202a3ad4cde7704cdf25dbfee2899be316e3826f3ac444eb5b36051"}}}'
```

## Document

```graphql
mutation UpdateChannelFields($body: JSON!, $channelId: UUID!) { __typename updateChannelFields(input: {channelId: $channelId, body: $body}) { __typename channel { __typename displayName id mediaKind name status utmContent utmMedium utmSource } userErrors { __typename code field message } } }
```

Source: https://developer.missin.co.uk/reference/channels/update-channel-fields
