# ResolveUnrecognisedSource

> Map an unrecognised source to a channel, a partner handle or a campaign signal. Write access, attribution toolset, MCP tool resolve_unrecognised_source.

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

## Variables

| Variable | Type | Required | Accepts | Description |
|---|---|---|---|---|
| `input` | `ResolveUnrecognisedSourceInput!` | yes | Input object, below |  |

## Input types

### ResolveUnrecognisedSourceInput

| Field | Type | Required | Accepts | Description |
|---|---|---|---|---|
| `campaignId` | `UUID` | no |  | Required for 'campaign': the campaign the signal is added to. |
| `channelTypeId` | `UUID` | no |  | Required for 'channel': the kind of channel to file the new one under. |
| `handle` | `String` | no | 1 to 120 characters | 'partner' only, optional: the handle to raise the suggestion under. Omit when the buyer's own words already are one ('@dan_b'); send a correction when they are not ('the skincare girl on tiktok'). |
| `resolution` | `String!` | yes | One of `channel`, `partner`, `campaign`, `dismissed` | channel \| partner \| campaign \| dismissed. |
| `sourceId` | `UUID!` | yes |  |  |

## 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":"ResolveUnrecognisedSource","variables":{"input":{"resolution":"channel","sourceId":"00000000-0000-0000-0000-000000000000"}},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"bed970071e23be19135ddf204bccb20193433e0ef63986dbfd490a8bb7824152"}}}'
```

## Document

```graphql
mutation ResolveUnrecognisedSource($input: ResolveUnrecognisedSourceInput!) { __typename resolveUnrecognisedSource(input: $input) { __typename campaignId channelId partnerSuggestionId sourceId userErrors { __typename code field message } } }
```

Source: https://developer.missin.co.uk/reference/attribution/resolve-unrecognised-source
