# Approvals on or off (`mttr_approvals_set`)

Updated October 24, 2026.

## What does mttr_approvals_set do?

Sets how your assistant works on one of your sites: automatic, where it deploys each change as it goes, or approve, where it proposes each change and waits for you. A key may make this call on the sites it has claimed.

Who may call it: Your claimed sites.

## When to use it

- Before your assistant starts on a site you care about.
- When you want to watch each change, or stop watching.

## What you ask

You might say: “Set example.com to approve, so you ask me before each change.”

```
mttr_approvals_set({ site: "example.com", mode: "approve" })
```

| Argument | Type | Needed | What it is |
| --- | --- | --- | --- |
| `site` | Text | Yes | The site, as a domain such as example.com. |
| `mode` | One of these: approve, automatic | Yes | approve to ask the person before each change, automatic to deploy as you go. |

## What comes back

- The site’s setting, automatic or approve.
- Turning approve off is emailed to you.

A sample, with made-up sites and figures:

| Site | How changes go out |
| --- | --- |
| example.com | Approve each change |
| shop.example | Automatic |

## Over HTTP

```
curl -X POST "https://mttr.si/api/v1/account/approvals" \
  -H "Authorization: Bearer $MTTR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"site":"example.com","mode":"approve"}'
```

## When it fails

| When | Status | What to do |
| --- | --- | --- |
| Your assistant has no key yet | 401 over MCP | Sign up with `mttr_signup`, then connect again with the key it gives. |

## Sources

- [Model Context Protocol: tools](https://modelcontextprotocol.io/specification/2025-06-18/server/tools), Model Context Protocol: How an assistant calls a tool.

The call in full: [mttr_approvals_set in the API reference](https://mttr.si/docs/reference#mttr_approvals_set).

## Goes with

- [Propose a change](https://mttr.si/docs/tools/propose.md)
- [Every proposal](https://mttr.si/docs/tools/proposals.md)
