# CreateIncentive

> Create an incentive with its rules: what a customer earns and when. Write access, incentives toolset, MCP tool create_incentive.

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

## Variables

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

## Input types

### CreateIncentiveInput

| Field | Type | Required | Accepts | Description |
|---|---|---|---|---|
| `audience` | `String` | no | One of `NEW`, `RETURNING` | NEW \| RETURNING, or null for everyone — the same wildcard tier uses. |
| `description` | `String` | no | at most 500 characters |  |
| `formId` | `UUID` | no |  |  |
| `limitCount` | `Int` | no | 32-bit integer. 1 to 100 | Per-customer claim cap. Set it together with limitPeriod, or leave both unset. |
| `limitPeriod` | `String` | no | One of `DAY`, `WEEK`, `MONTH`, `EVER`, `ORDER` | DAY \| WEEK \| MONTH \| EVER: rolling windows. |
| `name` | `String!` | yes | 1 to 120 characters |  |
| `rules` | `JSON` | no | Any JSON value. at most 3 items |  |
| `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":"CreateIncentive","variables":{"input":{"name":"Example"}},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"ed6452ddf749874da2485439dc6fecdee98122cea2b282adfe198175b34ab2d1"}}}'
```

## Document

```graphql
mutation CreateIncentive($input: CreateIncentiveInput!) { __typename createIncentive(input: $input) { __typename incentiveId userErrors { __typename code field message } } }
```

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