PUT
/
api
/
postgres_databases
/
{id_or_name}
curl --request PUT \
  --url https://api.sequinstream.com/api/postgres_databases/example-db \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --data '{
    "name": "example-db-renamed",
    "url": "postgresql://postgres:secret-password@new-db.example.com:5432/postgres"
  }'
{
  "id": "db_01HRMW3ZNE5EFGW9SDXW01TT92",
  "name": "example-db-renamed",
  "hostname": "new-db.example.com",
  "database": "postgres",
  "username": "postgres",
  "password": "************",
  "port": 5432,
  "ssl": true,
  "use_local_tunnel": false,
  "ipv6": false,
  "replication_slots": [
    {
      "id": "rs_01HRMW3ZNE5EFGW9SDXW01TT93",
      "publication_name": "new_sequin_pub",
      "slot_name": "new_sequin_slot",
      "status": "active"
    }
  ]
}

Path parameters

id_or_name
string
required

The database ID or name to update

Request body

For updates, the replication_slots array is optional. If provided, it must contain a single replication slot object. If you include a replication slot, it must have an id field to identify which slot to update.

name
string

A name for this database connection. You can use this name to identify the database across the API.

url
string

The full connection URL for the database, e.g. postgresql://postgres:secret-password@db.example.com:5432/postgres.

Pass in either this parameter or database, hostname, port, username, password.

To specify SSL, use the separate ssl field.

hostname
string

The database server hostname.

database
string

The name of the logical database in Postgres.

username
string

The database username.

password
string

The database password.

port
integer

The database server port.

ssl
boolean

Whether to use SSL for the connection.

ipv6
boolean

Whether to use IPv6 for the connection.

primary
object

Connection details for the primary database, only needed when connecting to a replica.

annotations
object

Optional metadata as key-value pairs.

replication_slots
array

Response

curl --request PUT \
  --url https://api.sequinstream.com/api/postgres_databases/example-db \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --data '{
    "name": "example-db-renamed",
    "url": "postgresql://postgres:secret-password@new-db.example.com:5432/postgres"
  }'
{
  "id": "db_01HRMW3ZNE5EFGW9SDXW01TT92",
  "name": "example-db-renamed",
  "hostname": "new-db.example.com",
  "database": "postgres",
  "username": "postgres",
  "password": "************",
  "port": 5432,
  "ssl": true,
  "use_local_tunnel": false,
  "ipv6": false,
  "replication_slots": [
    {
      "id": "rs_01HRMW3ZNE5EFGW9SDXW01TT93",
      "publication_name": "new_sequin_pub",
      "slot_name": "new_sequin_slot",
      "status": "active"
    }
  ]
}