# SaveIntegrationSetting

> Save per-surface capture settings: posts per partner and add-ons. Admin access, capture toolset, MCP tool save_integration_setting.

> **Warning:**
> This operation removes or replaces something. MCP clients see it with `destructiveHint` set, and an agent should tell you what it will change and wait for your yes.

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

## Variables

| Variable | Type | Required | Accepts | Description |
|---|---|---|---|---|
| `integrationSlug` | `String!` | yes |  | Catalogue slug the surface belongs to, e.g. instagram. |
| `settings` | `JSON!` | yes | Any JSON value | The settings blob. Validated against the shape that key holds. |
| `surface` | `String!` | yes |  | Capture surface key, "tracking" for the tracking cadence, "writeback" / "import" for a messaging provider. |
| `updatedBy` | `String` | no |  |  |

## 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":"SaveIntegrationSetting","variables":{"integrationSlug":"instagram","settings":{"disabled":false},"surface":"tracking"},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"a92ace7555cd288fea196f39c7e45778a73575fa49f82a4a8cd9cb0aef39e9d7"}}}'
```

## Document

```graphql
mutation SaveIntegrationSetting($integrationSlug: String!, $settings: JSON!, $surface: String!, $updatedBy: String) { __typename saveIntegrationSetting( input: {integrationSlug: $integrationSlug, surface: $surface, settings: $settings, updatedBy: $updatedBy} ) { __typename settings userErrors { __typename code field message } } }
```

Source: https://developer.missin.co.uk/reference/capture/save-integration-setting
