> ## Documentation Index
> Fetch the complete documentation index at: https://docs.summerengine.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Operations: account

> Who is signed in, credits, agent permissions and auto top-up. For each operation: what it does, whether it asks you first, its inputs and an example call.

Who is signed in, credits, agent permissions and auto top-up. 5 operations. How to call them, and what the answers mean: [Operations reference](/mcp/operations).

<Note>
  Generated from the `summer-engine` npm package `4.2.0`: its public operation catalog (`registry/operations/public-catalog.json`) and its engine and local operations. If something here is wrong, the operation's definition is wrong.
</Note>

| Operation | What it does | Asks you first |
| - | - | - |
| [`account.permissions`](#permissions) | What the person lets their agents do without asking, in six groups (true: runs at once; false: answers needs\_approval with a link). | Never |
| [`account.set_auto_top_up`](#set_auto_top_up) | Ask the person to turn auto top-up on or off or change its amounts: when credits fall below one amount, Summer adds another from their saved card, within a monthly limit. | Always |
| [`account.set_permissions`](#set_permissions) | Ask the person to turn agent permission groups on or off. | Always |
| [`account.turn_off_auto_top_up`](#turn_off_auto_top_up) | Ask the person to turn off auto top-up, as Turn off on Studio Billing does: Summer stops adding credits from the saved card; the card stays for next time. | Always |
| [`whoami`](#whoami) | Show the signed-in Summer account: user id, the agent app, plan, credits and whether generation is unlocked. | Never |

***

### permissions

`account.permissions`: **Read my agent permissions**

What the person lets their agents do without asking, in six groups (true: runs at once; false: answers needs\_approval with a link). Reads change nothing and always run. Next: the op you want, or account.set\_permissions.

| | |
| - | - |
| **MCP** | `summer_call` with `"op": "account.permissions"` |
| **CLI** | `summer account permissions` |
| **Runs** | On Summer's servers: the hosted MCP, or the npm MCP after `summer login`. Needs your Summer sign-in. |
| **Effect** | Reads only. Changes nothing. |
| **Asks you first** | No. It changes nothing. |

**Inputs:**

No inputs.

<Accordion title="Input JSON schema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {}
  }
  ```
</Accordion>

<Accordion title="Result JSON schema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "grants": {
        "type": "object",
        "properties": {
          "make": {
            "description": "Make and build: drafts, edits, uploads, scene changes, plans, builds.",
            "type": "boolean"
          },
          "spend": {
            "description": "Spend credits within the credits and auto top-up limit.",
            "type": "boolean"
          },
          "publish": {
            "description": "Publish store pages, versions and releases (store review still runs).",
            "type": "boolean"
          },
          "live": {
            "description": "Prices, sales, A/B test start and stop, member roles.",
            "type": "boolean"
          },
          "delete": {
            "description": "Delete or remove things for good.",
            "type": "boolean"
          },
          "contact": {
            "description": "Invites and other emails to real people.",
            "type": "boolean"
          }
        },
        "required": [
          "make",
          "spend",
          "publish",
          "live",
          "delete",
          "contact"
        ],
        "additionalProperties": false
      },
      "chosen": {
        "description": "false: the defaults, the person never changed them.",
        "type": "boolean"
      },
      "studioUrl": {
        "type": "string"
      }
    },
    "required": [
      "grants",
      "chosen",
      "studioUrl"
    ],
    "additionalProperties": false
  }
  ```
</Accordion>

**Example:** May I change prices without asking?

<CodeGroup>
  ```json MCP theme={null}
  {
    "name": "summer_call",
    "arguments": {
      "op": "account.permissions",
      "input": {}
    }
  }
  ```

  ```bash CLI theme={null}
  summer account permissions
  ```
</CodeGroup>

***

### set\_auto\_top\_up

`account.set_auto_top_up`: **Change auto top-up**

Ask the person to turn auto top-up on or off or change its amounts: when credits fall below one amount, Summer adds another from their saved card, within a monthly limit. Always needs their yes in Studio. Next: jobs.wait.

| | |
| - | - |
| **MCP** | `summer_call` with `"op": "account.set_auto_top_up"` |
| **CLI** | `summer account set-auto-top-up` |
| **Runs** | On Summer's servers: the hosted MCP, or the npm MCP after `summer login`. Needs your Summer sign-in. |
| **Effect** | Changes your own drafts, files or settings. Nobody else sees it yet. |
| **Asks you first** | Always. You approve it in Studio; an agent can never skip this. |

**Inputs:**

| Input | Type | Required | Description |
| - | - | - | - |
| `enabled` | boolean | No | |
| `whenBelowUsd` | number | No | Add credits when the balance falls below this, in US dollars, whole cents (1 to 1000). Range 1 to 1000. |
| `addUsd` | number | No | How much to add each time, in US dollars, whole cents (5 to 1000). Range 5 to 1000. |
| `monthlyLimitUsd` | number | No | The most added in one calendar month, in US dollars, whole cents (5 to 5000). Range 5 to 5000. |
| `dryRun` | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
| `idempotencyKey` | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |

<Accordion title="Input JSON schema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "enabled": {
        "type": "boolean"
      },
      "whenBelowUsd": {
        "description": "Add credits when the balance falls below this, in US dollars, whole cents (1 to 1000).",
        "type": "number",
        "minimum": 1,
        "maximum": 1000
      },
      "addUsd": {
        "description": "How much to add each time, in US dollars, whole cents (5 to 1000).",
        "type": "number",
        "minimum": 5,
        "maximum": 1000
      },
      "monthlyLimitUsd": {
        "description": "The most added in one calendar month, in US dollars, whole cents (5 to 5000).",
        "type": "number",
        "minimum": 5,
        "maximum": 5000
      },
      "dryRun": {
        "description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
        "type": "boolean"
      },
      "idempotencyKey": {
        "description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
        "type": "string",
        "minLength": 1,
        "maxLength": 128
      }
    }
  }
  ```
</Accordion>

<Accordion title="Result JSON schema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "autoTopUp": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "whenBelowUsd": {
            "type": "number"
          },
          "addUsd": {
            "type": "number"
          },
          "monthlyLimitUsd": {
            "type": "number"
          },
          "card": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "brand": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "last4": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "brand",
                  "last4"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "chargedThisMonthUsd": {
            "type": "number"
          }
        },
        "required": [
          "enabled",
          "whenBelowUsd",
          "addUsd",
          "monthlyLimitUsd",
          "card",
          "chargedThisMonthUsd"
        ],
        "additionalProperties": false
      },
      "studioUrl": {
        "type": "string"
      }
    },
    "required": [
      "autoTopUp",
      "studioUrl"
    ],
    "additionalProperties": false
  }
  ```
</Accordion>

**Example:** Keep credits topped up.

<CodeGroup>
  ```json MCP theme={null}
  {
    "name": "summer_call",
    "arguments": {
      "op": "account.set_auto_top_up",
      "input": {
        "enabled": true,
        "whenBelowUsd": 5,
        "addUsd": 20,
        "monthlyLimitUsd": 100
      }
    }
  }
  ```

  ```bash CLI theme={null}
  summer account set-auto-top-up --enabled --when-below-usd 5 --add-usd 20 --monthly-limit-usd 100
  ```
</CodeGroup>

***

### set\_permissions

`account.set_permissions`: **Change my agent permissions**

Ask the person to turn agent permission groups on or off. Always needs their yes in Studio, even to turn one off. Returns an approval link; nothing changes until they approve. Next: jobs.wait.

| | |
| - | - |
| **MCP** | `summer_call` with `"op": "account.set_permissions"` |
| **CLI** | `summer account set-permissions` |
| **Runs** | On Summer's servers: the hosted MCP, or the npm MCP after `summer login`. Needs your Summer sign-in. |
| **Effect** | Changes your own drafts, files or settings. Nobody else sees it yet. |
| **Asks you first** | Always. You approve it in Studio; an agent can never skip this. |

**Inputs:**

| Input | Type | Required | Description |
| - | - | - | - |
| `make` | boolean | No | |
| `spend` | boolean | No | |
| `publish` | boolean | No | |
| `live` | boolean | No | |
| `delete` | boolean | No | |
| `contact` | boolean | No | |
| `dryRun` | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
| `idempotencyKey` | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |

<Accordion title="Input JSON schema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "make": {
        "type": "boolean"
      },
      "spend": {
        "type": "boolean"
      },
      "publish": {
        "type": "boolean"
      },
      "live": {
        "type": "boolean"
      },
      "delete": {
        "type": "boolean"
      },
      "contact": {
        "type": "boolean"
      },
      "dryRun": {
        "description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
        "type": "boolean"
      },
      "idempotencyKey": {
        "description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
        "type": "string",
        "minLength": 1,
        "maxLength": 128
      }
    }
  }
  ```
</Accordion>

<Accordion title="Result JSON schema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "grants": {
        "type": "object",
        "properties": {
          "make": {
            "description": "Make and build: drafts, edits, uploads, scene changes, plans, builds.",
            "type": "boolean"
          },
          "spend": {
            "description": "Spend credits within the credits and auto top-up limit.",
            "type": "boolean"
          },
          "publish": {
            "description": "Publish store pages, versions and releases (store review still runs).",
            "type": "boolean"
          },
          "live": {
            "description": "Prices, sales, A/B test start and stop, member roles.",
            "type": "boolean"
          },
          "delete": {
            "description": "Delete or remove things for good.",
            "type": "boolean"
          },
          "contact": {
            "description": "Invites and other emails to real people.",
            "type": "boolean"
          }
        },
        "required": [
          "make",
          "spend",
          "publish",
          "live",
          "delete",
          "contact"
        ],
        "additionalProperties": false
      }
    },
    "required": [
      "grants"
    ],
    "additionalProperties": false
  }
  ```
</Accordion>

**Example:** Let the agent send invites without asking.

<CodeGroup>
  ```json MCP theme={null}
  {
    "name": "summer_call",
    "arguments": {
      "op": "account.set_permissions",
      "input": {
        "contact": true
      }
    }
  }
  ```

  ```bash CLI theme={null}
  summer account set-permissions --contact
  ```
</CodeGroup>

***

### turn\_off\_auto\_top\_up

`account.turn_off_auto_top_up`: **Turn off auto top-up**

Ask the person to turn off auto top-up, as Turn off on Studio Billing does: Summer stops adding credits from the saved card; the card stays for next time. Always needs their yes in Studio. Next: jobs.wait.

| | |
| - | - |
| **MCP** | `summer_call` with `"op": "account.turn_off_auto_top_up"` |
| **CLI** | `summer account turn-off-auto-top-up` |
| **Runs** | On Summer's servers: the hosted MCP, or the npm MCP after `summer login`. Needs your Summer sign-in. |
| **Effect** | Changes your own drafts, files or settings. Nobody else sees it yet. |
| **Asks you first** | Always. You approve it in Studio; an agent can never skip this. |

**Inputs:**

| Input | Type | Required | Description |
| - | - | - | - |
| `dryRun` | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
| `idempotencyKey` | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |

<Accordion title="Input JSON schema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "dryRun": {
        "description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
        "type": "boolean"
      },
      "idempotencyKey": {
        "description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
        "type": "string",
        "minLength": 1,
        "maxLength": 128
      }
    }
  }
  ```
</Accordion>

<Accordion title="Result JSON schema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "autoTopUp": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "whenBelowUsd": {
            "type": "number"
          },
          "addUsd": {
            "type": "number"
          },
          "monthlyLimitUsd": {
            "type": "number"
          },
          "card": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "brand": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "last4": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "brand",
                  "last4"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "chargedThisMonthUsd": {
            "type": "number"
          }
        },
        "required": [
          "enabled",
          "whenBelowUsd",
          "addUsd",
          "monthlyLimitUsd",
          "card",
          "chargedThisMonthUsd"
        ],
        "additionalProperties": false
      },
      "message": {
        "type": "string"
      },
      "studioUrl": {
        "type": "string"
      }
    },
    "required": [
      "autoTopUp",
      "studioUrl"
    ],
    "additionalProperties": false
  }
  ```
</Accordion>

**Example:** Stop automatic charges.

<CodeGroup>
  ```json MCP theme={null}
  {
    "name": "summer_call",
    "arguments": {
      "op": "account.turn_off_auto_top_up",
      "input": {}
    }
  }
  ```

  ```bash CLI theme={null}
  summer account turn-off-auto-top-up
  ```
</CodeGroup>

***

### whoami

`whoami`: **Show who is signed in**

Show the signed-in Summer account: user id, the agent app, plan, credits and whether generation is unlocked. Returns the account. Free. Next: games.list.

| | |
| - | - |
| **MCP** | `summer_whoami`, a tool on the hosted MCP and the npm assets profile. Elsewhere: `summer_call` with `"op": "whoami"` |
| **CLI** | `summer whoami` |
| **Runs** | On Summer's servers: the hosted MCP, or the npm MCP after `summer login`. Needs your Summer sign-in. |
| **Effect** | Reads only. Changes nothing. |
| **Asks you first** | No. It changes nothing. |
| **3.x names** | `summer_account` |

**Inputs:**

No inputs.

<Accordion title="Input JSON schema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {}
  }
  ```
</Accordion>

<Accordion title="Result JSON schema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "userId": {
        "type": "string"
      },
      "client": {
        "description": "The agent app Summer sees: claude-hosted, chatgpt, cursor, local-agent, other.",
        "type": "string"
      },
      "plan": {
        "type": "string"
      },
      "subscriptionStatus": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ]
      },
      "credits": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string"
          },
          "total": {
            "description": "US dollars, the person's own balance.",
            "type": "number"
          },
          "plan": {
            "description": "US dollars, the person's own balance.",
            "type": "number"
          },
          "bonus": {
            "description": "US dollars, the person's own balance.",
            "type": "number"
          },
          "topUp": {
            "description": "US dollars, the person's own balance.",
            "type": "number"
          }
        },
        "required": [
          "currency",
          "total",
          "plan",
          "bonus",
          "topUp"
        ],
        "additionalProperties": false
      },
      "generationUnlocked": {
        "type": "boolean"
      },
      "autoTopUp": {
        "description": "The person's own refill rule; only they change it, in Studio.",
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "whenBelowUsd": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "addUsd": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "monthlyLimitUsd": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "chargedThisMonthUsd": {
            "type": "number"
          },
          "turnedOffBecause": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "enabled",
          "whenBelowUsd",
          "addUsd",
          "monthlyLimitUsd",
          "chargedThisMonthUsd",
          "turnedOffBecause"
        ],
        "additionalProperties": false
      },
      "message": {
        "type": "string"
      },
      "links": {
        "type": "object",
        "properties": {
          "topUp": {
            "type": "string"
          },
          "autoTopUp": {
            "type": "string"
          }
        },
        "required": [
          "topUp",
          "autoTopUp"
        ],
        "additionalProperties": false
      }
    },
    "required": [
      "userId",
      "client",
      "plan"
    ],
    "additionalProperties": false
  }
  ```
</Accordion>

**Example:** Check the account and credits before generating.

<CodeGroup>
  ```json MCP theme={null}
  {
    "name": "summer_whoami",
    "arguments": {}
  }
  ```

  ```bash CLI theme={null}
  summer whoami
  ```
</CodeGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.