# SaveFormDraft

> Save a form's draft content. Write access, forms toolset, MCP tool save_form_draft. Part of the MISSIN public API: call it with an API key, or from an AI tool…

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

## Variables

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

## Input types

### SaveFormDraftInput

| Field | Type | Required | Accepts | Description |
|---|---|---|---|---|
| `formId` | `UUID!` | yes |  |  |
| `payload` | `JSON!` | yes | Any JSON value | The BuilderModel the editor holds. |

## 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":"SaveFormDraft","variables":{"input":{"formId":"00000000-0000-0000-0000-000000000000","payload":"…"}},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"0a9116dbed9232aa90368f30dd41f2e07450fd04b6619dc0694f094ca8f2dae1"}}}'
```

## Document

```graphql
mutation SaveFormDraft($input: SaveFormDraftInput!) { __typename saveFormDraft(input: $input) { __typename changed formId snapshotId userErrors { __typename code field message } } }
```

Source: https://developer.missin.co.uk/reference/forms/save-form-draft
