# UpdateIncentive

> Update an incentive's name, audience, limits, status or trust floor. Write access, incentives toolset, MCP tool update_incentive.

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

## Variables

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

## Input types

### UpdateIncentiveInput

| Field | Type | Required | Accepts | Description |
|---|---|---|---|---|
| `audience` | `String` | no | One of `NEW`, `RETURNING` | NEW \| RETURNING, or null for everyone. Null CLEARS the targeting. |
| `description` | `String` | no | at most 500 characters |  |
| `formId` | `UUID` | no |  |  |
| `icon` | `String` | no | One of `megaphone`, `sparkles`, `rocket`, `flag`, `star`, `heart`, `bell`, `party-popper`, `gift`, `tag`, `ticket`, `percent`, `badge-percent`, `shopping-bag`, `shopping-cart`, `package`, `truck`, `store`, `sun`, `snowflake`, `leaf`, `flower`, `sprout`, `umbrella`, `moon`, `tree-pine`, `egg`, `ghost`, `cake`, `trophy`, `crown`, `gem`, `award`, `medal`, `calendar`, `calendar-heart`, `camera`, `video`, `clapperboard`, `music`, `mic`, `palette`, `shirt`, `watch`, `globe`, `map-pin`, `plane`, `users`, `handshake`, `target`, `trending-up`, `zap`, `flame`, `coffee`, `dumbbell`, `gamepad-2` | The incentive's own mark — a Lucide icon NAME. Null clears to the entity glyph. |
| `iconColor` | `String` | no | One of `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red` | The mark's hue — a palette TOKEN, never a hex. Null clears to the neutral tile. |
| `incentiveId` | `UUID!` | yes |  |  |
| `limitCount` | `Int` | no | 32-bit integer. 1 to 100 | Per-customer claim cap — patch with limitPeriod together; both null clears. |
| `limitPeriod` | `String` | no | One of `DAY`, `WEEK`, `MONTH`, `EVER`, `ORDER` | DAY \| WEEK \| MONTH \| EVER: rolling windows. |
| `minTrustScore` | `Float` | no | 0.4 to 1 | Hold rewards when a response's trust score is below this (MISPLAT-361). Null = never hold (the default). |
| `name` | `String` | no | 1 to 120 characters |  |
| `status` | `String` | no | One of `DRAFT`, `ACTIVE`, `PAUSED`, `ARCHIVED` |  |
| `tier` | `String` | no | One of `quick`, `enhanced` |  |

## 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":"UpdateIncentive","variables":{"input":{"incentiveId":"00000000-0000-0000-0000-000000000000"}},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"02459f0ea256d092d1f3519714bab89fc632732c181b31c664db18152038b938"}}}'
```

## Document

```graphql
mutation UpdateIncentive($input: UpdateIncentiveInput!) { __typename updateIncentive(input: $input) { __typename incentiveId userErrors { __typename code field message } } }
```

Source: https://developer.missin.co.uk/reference/incentives/update-incentive
