# Configure an instance

Instance settings in SurrealDB Studio: capabilities, compute and storage, pausing, and deletion.

Change the settings of a running instance from **Instance settings** in [SurrealDB Studio](https://app.surrealdb.com).

To open the settings, select the instance, then select **Instance settings** on the dashboard or **Settings** in the sidebar.

Settings is organised into tabs.

| Tab | What it controls |
| --- | --- |
| **General** | The instance id, and the [pause](#pause-an-instance) and [delete](#delete-an-instance) actions |
| **Capabilities** | [What the instance permits at runtime](#capabilities): scripting, endpoints, functions, and network access |
| **Version** | The SurrealDB release the instance runs. See [Versions and upgrades](/docs/manage/instances/versions-and-upgrades.md) |
| **Compute** | [The instance type and the storage capacity](#compute-and-storage) |
| **Backups** | Snapshot frequency, retention, and restore. See [Backups and recovery](/docs/manage/instances/backups.md) |

The **Databases** and **Data** tabs work on the contents of the instance rather than on the instance itself.

## Capabilities

Capabilities decide what the database engine will do at runtime. They are the main security control on an instance: a capability that is switched off cannot be re-enabled by a query, a user, or an access method. The underlying model is described in [Capabilities](/docs/learn/security/authorization/capabilities.md).

![The Capabilities tab of instance settings in SurrealDB Studio, subtitled What this instance permits at runtime, with import and export buttons for the capability configuration as a JSON file, and a granular configuration list showing Scripting and Guest Access switched off, RPC methods, HTTP endpoints, Functions, and Arbitrary queries set to Allowed, Network access set to Denied, and Insecure storable closures switched off.](~/assets/img/surrealdb/manage/instance-capabilities.webp)

Two kinds of control appear in the list.

**Switches** turn a single capability on or off:

- **Scripting:** whether embedded JavaScript functions run.
- **Guest access:** whether unauthenticated clients can perform any operation.
- **Insecure storable closures:** whether closures can be stored in records.

**Allow and deny lists** apply to capabilities with many members: RPC methods, HTTP endpoints, functions, and [network access](/docs/manage/instances/network-access.md). Each list starts from a default and takes exceptions:

- **Allowed by default:** everything is permitted, and you list what to deny.
- **Denied by default:** nothing is permitted, and you list what to allow.

For a production instance, deny by default and allow only what the application uses. The cost is that you must extend the list whenever the application changes.

> [!IMPORTANT]
> **Network access** governs outbound HTTP requests made from inside queries, and is denied by default. It does not control who can reach the instance. See [Network access](/docs/manage/instances/network-access.md) for the pattern syntax, and [Private connectivity](/docs/manage/instances/private-connectivity.md) for inbound access modes.

The **Import** and **Export** buttons read and write the whole capability configuration as a JSON file. Use the export to keep staging and production aligned, or to hold the configuration in version control. `surrealctl instance capabilities` does the same from a terminal. See [surrealctl instances](/docs/manage/surrealctl/instances.md).

## Compute and storage

The **Compute** tab holds the instance type and the storage capacity. The active type is marked, and the Free, Burstable, and General purpose families are on separate tabs.

![The Compute tab of instance settings in SurrealDB Studio, showing the Free instance type marked as active with 0.25 core vCPU and 512 MB memory, and a Storage capacity section explaining that storage expansion is unavailable for free instances with an Upgrade instance type button.](~/assets/img/surrealdb/manage/instance-compute.webp)

To resize an instance:

1. Open **Instance settings → Compute**.
2. Select the instance type you want.
3. Set the value under **Storage capacity** if you also need more disk.
4. Select **Save changes**.

Changing the instance type moves the instance to a larger or smaller size and rebills accordingly. Storage can grow but never shrink, and you can increase the disk size once every six hours.

> [!IMPORTANT]
> Storage expansion is unavailable on free instances. Move to a paid instance type to change storage capacity.

Expect a brief reconnect while the instance restarts on the new size. For when to resize and what to watch afterwards, see [Scaling](/docs/manage/instances/scaling.md).

## Pause an instance

Pausing stops compute without losing data. A paused instance is unreachable until you resume it, its data and configuration are kept, and usage is not billed while it is paused.

To pause an instance:

1. Open **Instance settings → General**.
2. Select **Pause instance**.
3. Confirm the action.

Pausing suits environments with predictable idle periods, such as a staging instance overnight or a demo between engagements.

Before you pause, check that nothing depends on the instance being reachable. Connection pools, scheduled jobs, and health checks fail against a paused instance rather than queue against it.

Unused free instances are paused automatically after seven days.

![The General tab of instance settings in SurrealDB Studio, showing the instance id with a copy button, a Pause instance panel explaining that a paused instance is entirely unreachable until resumed while its data is kept and usage is not billed, and a Delete instance panel warning that permanently removing an instance cannot be undone.](~/assets/img/surrealdb/manage/instance-settings.webp)

Resuming brings the instance back on the same configuration and the same endpoint.

## Delete an instance

Deleting destroys the instance and everything stored in it. You cannot undo it, and support cannot recover a deleted instance.

> [!WARNING]
> Do not treat the snapshots of an instance as the safety net for deleting it. If you might need the data later, [restore a backup into a new instance](/docs/manage/instances/backups.md) or take a [logical export](/docs/manage/instances/import-and-export.md) first. Confirm the export loads cleanly before you delete.

To delete an instance:

1. Open **Instance settings → General**.
2. Select **Delete instance**.
3. Confirm the action.

`surrealctl instance pause`, `surrealctl instance resume`, and `surrealctl instance delete` are the command-line equivalents.

## The instance id

The **General** tab also shows the instance id. SurrealDB support may ask for it when investigating an issue. The id identifies the instance unambiguously where the name does not, because names are only unique within an organisation.

## Next steps

- **[Connect to an instance](/docs/manage/instances/connect.md):** SurrealDB Studio, the CLI, SDKs, and HTTP.
- **[Monitoring](/docs/manage/instances/monitoring.md):** confirm a configuration change had the effect you expected.
- **[Backups and recovery](/docs/manage/instances/backups.md):** snapshot frequency, retention, and restore.
