# Fork Cluster to New Cluster (/postgres-clusters/Postgres_fork)

Fork a ready Managed Postgres cluster into a new cluster that inherits the source's settings. The source cluster is left unchanged, and the fork is provisioned asynchronously.

`POST /v1/postgres/{postgres_cluster_id}/fork`

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `postgres_cluster_id` | path | `string` | Yes | Managed Postgres Cluster ID |

## Request Body

Type: `forkPostgresClusterRequest`

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | `string` | No | Name for the forked cluster. Defaults to the source name with a -fork suffix. |

## Responses

| Status | Description | Schema |
| --- | --- | --- |
| `201` | New cluster provisioned from the fork | `showPostgresClusterResponse` |
| `400` | Fork failed | `PostgresErrorResponse` |
| `404` | Cluster not found | `PostgresErrorResponse` |
| `409` | The source cluster is not ready to be forked yet | `PostgresErrorResponse` |
| `410` | 'This cluster has been deleted' or 'This cluster is being deleted' | `PostgresErrorResponse` |
| `422` | Invalid attributes | `PostgresErrorResponse` |

The full machine-readable OpenAPI spec is available at /openapi.json.