---
title: "Update database cluster"
method: PATCH
path: "/databases/clusters/{database}"
tags: ["Database Clusters"]
---

# Update database cluster

`PATCH /databases/clusters/{database}`

## Request

- Base URL: `https://cloud.laravel.com/api`
- URL: `https://cloud.laravel.com/api/databases/clusters/{database}`
- Auth: HTTP bearer

Update a database cluster.

## Path parameters

- `database` string, nullable, required

## Request body

- UpdateDatabaseRequest
  - `config` union, required: Configuration object. Fields vary based on database type.
    - object: Configuration for Neon Serverless Postgres databases
      - `cu_min` 0.25 | 0.5 | 1 | 2 | 4 | 8 | 10 | 16, required: Minimum compute units for auto-scaling
      - `cu_max` 0.25 | 0.5 | 1 | 2 | 4 | 8 | 10 | 16, required: Maximum compute units for auto-scaling
      - `suspend_seconds` integer, required: Seconds of inactivity before hibernation (0 = never, otherwise 60–604800) (min: 0, max: 604800)
      - `retention_days` integer, required: Days to retain point-in-time recovery data (min: 0, max: 30)
    - object: Configuration for Laravel MySQL databases
      - `size` 'mysql-flex-512mb' | 'mysql-flex-1gb' | 'mysql-flex-2gb' | 'mysql-pro-4gb' | 'mysql-pro-8gb' | 'mysql-pro-16gb' | 'mysql-pro-32gb', required: Instance size for the database cluster
      - `storage` integer, required: Storage allocation in GiB (min: 5, max: 1000)
      - `is_public` boolean, required: Whether the database is publicly accessible
      - `uses_scheduled_snapshots` boolean, required: Whether scheduled backups are enabled
      - `retention_days` integer, required: Days to retain backup data (min: 0, max: 30)
      - `maintenance_window` string, nullable: UTC maintenance window for automated updates
      - `suspend_seconds` integer: Seconds of inactivity before scaling to zero (0 = never). Requires an eligible size and the scale-to-zero feature. (min: 0, max: 3600)
      - `storage_autoscale_max_gb` integer, nullable: Largest storage the cluster may grow to on its own, in GiB. Null turns the automatically upsize setting off. (min: 5, max: 1000)
    - object: Configuration for AWS RDS MySQL databases
      - `size` 'db.m8g.large' | 'db.m8g.xlarge' | 'db.m8g.2xlarge' | 'db.m8g.4xlarge' | 'db.m8g.8xlarge' | 'db.m8g.12xlarge' | 'db.m8g.16xlarge' | 'db.m7g.large' | 'db.m7g.xlarge' | 'db.m7g.2xlarge' | 'db.m7g.4xlarge' | 'db.m7g.8xlarge' | 'db.m7g.12xlarge' | 'db.m7g.16xlarge' | 'db.t4g.micro' | 'db.t4g.small' | 'db.t4g.medium' | 'db.t4g.large' | 'db.t4g.xlarge' | 'db.t4g.2xlarge' | 'db.r8g.large' | 'db.r8g.xlarge' | 'db.r8g.2xlarge' | 'db.r8g.4xlarge' | 'db.r8g.8xlarge' | 'db.r8g.12xlarge' | 'db.r8g.16xlarge', required: Instance size for the database cluster
      - `storage` integer, required: Storage allocation in GiB (min: 20, max: 65536)
      - `is_public` boolean, required: Whether the database is publicly accessible
      - `uses_pitr` boolean, required: Whether point-in-time recovery is enabled
      - `retention_days` integer, required: Days to retain backup data (min: 0, max: 30)
      - `maintenance_window` string, nullable: UTC maintenance window for automated updates
      - `deployment_option` 'single-az' | 'single-az-with-read-replicas' | 'multi-az', required: Deployment configuration (single-az or multi-az)
      - `read_replicas` integer, nullable: The number of configured read replicas

## Response `200`

`DatabaseResource`

- object
  - `data` DatabaseResource, required
    - `id` string, required
    - `type` 'databases', required
    - `attributes` object
      - `name` string, required
      - `type` 'laravel_mysql' | 'aws_rds_mysql' | 'aws_rds_postgres' | 'neon_serverless_postgres', required
      - `status` 'creating' | 'updating' | 'restarting' | 'upgrading' | 'moving' | 'available' | 'stopped' | 'restoring' | 'restore_failed' | 'disabled' | 'snapshotting_before_archiving' | 'archiving' | 'archived' | 'deleting' | 'deleted' | 'unknown', required
      - `region` 'us-east-1' | 'us-east-2' | 'ca-central-1' | 'eu-central-1' | 'eu-west-1' | 'eu-west-2' | 'eu-west-3' | 'me-central-1' | 'ap-southeast-1' | 'ap-southeast-2' | 'ap-northeast-1', required
      - `created_at` string, date-time, nullable, required
      - `config` union, required: Configuration object. Fields vary based on database type.
        - object: Configuration for Neon Serverless Postgres databases
          - `cu_min` 0.25 | 0.5 | 1 | 2 | 4 | 8 | 10 | 16, required: Minimum compute units for auto-scaling
          - `cu_max` 0.25 | 0.5 | 1 | 2 | 4 | 8 | 10 | 16, required: Maximum compute units for auto-scaling
          - `suspend_seconds` integer, required: Seconds of inactivity before hibernation (0 = never, otherwise 60–604800) (min: 0, max: 604800)
          - `retention_days` integer, required: Days to retain point-in-time recovery data (min: 0, max: 30)
        - object: Configuration for Laravel MySQL databases
          - `size` 'mysql-flex-512mb' | 'mysql-flex-1gb' | 'mysql-flex-2gb' | 'mysql-pro-4gb' | 'mysql-pro-8gb' | 'mysql-pro-16gb' | 'mysql-pro-32gb', required: Instance size for the database cluster
          - `storage` integer, required: Storage allocation in GiB (min: 5, max: 1000)
          - `is_public` boolean, required: Whether the database is publicly accessible
          - `uses_scheduled_snapshots` boolean, required: Whether scheduled backups are enabled
          - `retention_days` integer, required: Days to retain backup data (min: 0, max: 30)
          - `maintenance_window` string, nullable: UTC maintenance window for automated updates
          - `suspend_seconds` integer: Seconds of inactivity before scaling to zero (0 = never). Requires an eligible size and the scale-to-zero feature. (min: 0, max: 3600)
          - `storage_autoscale_max_gb` integer, nullable: Largest storage the cluster may grow to on its own, in GiB. Null turns the automatically upsize setting off. (min: 5, max: 1000)
        - object: Configuration for AWS RDS MySQL databases
          - `size` 'db.m8g.large' | 'db.m8g.xlarge' | 'db.m8g.2xlarge' | 'db.m8g.4xlarge' | 'db.m8g.8xlarge' | 'db.m8g.12xlarge' | 'db.m8g.16xlarge' | 'db.m7g.large' | 'db.m7g.xlarge' | 'db.m7g.2xlarge' | 'db.m7g.4xlarge' | 'db.m7g.8xlarge' | 'db.m7g.12xlarge' | 'db.m7g.16xlarge' | 'db.t4g.micro' | 'db.t4g.small' | 'db.t4g.medium' | 'db.t4g.large' | 'db.t4g.xlarge' | 'db.t4g.2xlarge' | 'db.r8g.large' | 'db.r8g.xlarge' | 'db.r8g.2xlarge' | 'db.r8g.4xlarge' | 'db.r8g.8xlarge' | 'db.r8g.12xlarge' | 'db.r8g.16xlarge', required: Instance size for the database cluster
          - `storage` integer, required: Storage allocation in GiB (min: 20, max: 65536)
          - `is_public` boolean, required: Whether the database is publicly accessible
          - `uses_pitr` boolean, required: Whether point-in-time recovery is enabled
          - `retention_days` integer, required: Days to retain backup data (min: 0, max: 30)
          - `maintenance_window` string, nullable: UTC maintenance window for automated updates
          - `deployment_option` 'single-az' | 'single-az-with-read-replicas' | 'multi-az', required: Deployment configuration (single-az or multi-az)
          - `read_replicas` integer, nullable: The number of configured read replicas
      - `supports_pitr` string, required
      - `earliest_restore_time` string, nullable, required
      - `connection` object, required
        - `hostname` string, required
        - `port` 3306 | 5432, required
        - `protocol` 'mysql' | 'postgres', required
        - `driver` 'mysql' | 'pgsql', required
        - union
          - object
            - `username` string, required
            - union
              - …
          - string[]
    - `relationships` object
      - `databases` object
        - `data` DatabaseSchemaResourceIdentifier[], required
          - `type` 'databaseSchemas', required
          - `id` string, required
  - `included` DatabaseSchemaResource[]
    - `id` string, required
    - `type` 'databaseSchemas', required
    - `attributes` object
      - `name` string, required
      - `status` string, required
      - `created_at` string, date-time, nullable, required
    - `relationships` object
      - `database` object
        - `data` DatabaseResourceIdentifier, required
          - `type` 'databases', required
          - `id` string, required
      - `environments` object
        - `data` EnvironmentResourceIdentifier[], required
          - `type` 'environments', required
          - `id` string, required

## Other responses

- `403`: Authorization error
- `404`: Not found
- `422`: Validation error

---

[API](https://skmtc.dev/laravel/apis/laravel-cloud.md) - [All operations](https://skmtc.dev/laravel/apis/laravel-cloud/llms.txt) - [OpenAPI document](https://skmtc.dev/laravel/apis/laravel-cloud/revisions/af603f54ff33?raw)
