# RotateFormPublicKey

> Rotate a form placement's public key; embeds using the old key stop working. Irreversible. Write access, forms toolset, MCP tool rotate_form_public_key.

> **Warning:**
> Irreversible. 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:** [Write](https://developer.missin.co.uk/get-started/authentication.md#access-levels)

## Variables

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

## Input types

### RotateFormPublicKeyInput

| Field | Type | Required | Accepts | Description |
|---|---|---|---|---|
| `placementId` | `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":"RotateFormPublicKey","variables":{"input":{"placementId":"00000000-0000-0000-0000-000000000000"}},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"3417e8055c917c9303ca2d53f994aa8893116f4e54882d4a50e115cc7f7fda51"}}}'
```

## Document

```graphql
mutation RotateFormPublicKey($input: RotateFormPublicKeyInput!) { __typename rotateFormPublicKey(input: $input) { __typename placementId publicKey userErrors { __typename code field message } } }
```

Source: https://developer.missin.co.uk/reference/forms/rotate-form-public-key
