Database RDB APIv1

Download OpenAPI

Introduction

Scaleway Database is a service that make your database's management easy as pie. It provides simple and reliable solutions to create and run your database, dealing with security and high availability to ensure the durability of your data.

The following sections define concepts such as Instance, Database Engine, Configuration, ACL, Failover, Configuration, Backup and Restore in Scaleway Database.

Database Engine

A Database Engine is the software component that stores and retrieves your data from a database. For example, PostgreSQL is a database engine and it implements the SQL standard. Database Engines have versions. Different major versions represents changes that can break backward compatibility.

See "Engine Specifics" for supported engines and versions.

A Database Instance is composed of one or more computing nodes, depending on the chosen HA setting (1 leader for Standalone, 1 leader + 1 replica for High Availability). HA standby nodes are linked to a leader, using synchronous replication. Synchronous replication offers the ability to confirm that all changes intended by a transaction have been transferred and applied to one or more synchronous replica servers, thus providing durability to the data. You can also add up to 3 read replicas that can be used for some read-only workflows like BI, or for a read-only scaling of your application. Read replicas use asynchronous replication to replicate data from the leader.

A Database Instance has settings that let you tune the behavior of its Database Engine to better fit your needs. Available settings depend on the Database Engine and its version. Each instance setting entry has a default value that the user can override. The deletion of a setting entry will restore the setting to the entry's default value. Some of the defaults values can be different from the engine defaults, as we optimize these defaults for the Scaleway platform.

A Database Instance Endpoint is composed of an IP and a TCP port. These are the coordinates that are used to connect to the service. For now, there is only one endpoint, always pointing to the leader node of the Instance.

Endpoints IPs are public (No access is available using private IPs for now, but this might change in the future). This might raise security concerns to some, but here are a few points that must be remembered:

  • When connecting to a Database's public IP address from a Scaleway Compute Instance from the same region, the traffic does not leave Scaleway's network.
  • All Scaleway Database Endpoints have SSL enabled. Be sure to use it to make your data and your passwords unreadable in transit to anyone but you.
  • Access to your Endpoint can be restricted to a set of trusted hosts or networks that you choose, see "ACL Rules" below.

Please note that RDB architecture uses LoadBalancers to forward the traffic to the right node based on the node state (active/hot standby). LoadBalancers configuration is set to cut off inactive connections if no TCP traffic is sent within a 6-hour timeframe. We recommend using a connection pooling on application side in order to renew database connections regularly.

Access Control List Rules (ACL Rules) define which host and networks can connect to your Database Instance Endpoint. You can add, edit or delete rules from your ACLs. The initial setup of an instance allows full network access from anywhere (0.0.0.0/0).

Access control is handled directly at network-level by our load-balancers, so the Database does not need to do it itself, making the filtering more efficient, universal and relieving the Database from this task.

You can order a high availability database instance. With this configuration, we install the RDBMS (Relational Database Management System) on two dedicated compute nodes. We also make sure those instances are on two physically separate racks.

On a High Availability Database Instance, replication is synchronous. With this replication mode, write operations are routed to one database node. The other node (standby node) replicates these data. Write operations are acknowledged to the user only when they are applied on the master AND on the standby node. If a node goes down, data integrity is guaranteed. You can't be in the situation where the leader node has more data than the replica. This replication mode introduces a bit of overhead on the database system, but for us, data integrity is the most important.

High availability instances are monitored continuously and got an AutoHealing feature. If a database node goes down, the standby node will take write operations in less than 10 seconds letting you be able to continue your business as usual with read and write operations. During this phase, your instance switch to AUTOHEALING status (blue dot in the console). During this period, your High Availability Instance is working on the remaining database node for at most 700 seconds. After 700 seconds, if your database node is still considered as down, a new node is spawned and automatically configured as a standby database node. Once configured, your database instance get the READY status back. With this system, your database instance is unavailable only for a few seconds letting your app work as usual.

Logical Databases can be saved to and restored from our storage facilities, located in a different physical region than your Database. Each logical database inside of a database instance is backed up and therefore restorable separately.

A User is an account protected by a password, allowing access to your Database Instance.

There are two ways to manage user permssions: from the API/Console or using SQL. All supported engines have a rich permission model and as most users only need a part of it, so Scaleway Database provides a simplified and unified permission model through the API and the console to make things easier to manage and understand. Beside this, it is perfectly fine to use engine-specific ways of managing users and permissions, see each engine documentation to find mode about the corresponding SQL commands.

The following is only about the simplified workflow.

Each User has associated Permissions that give it access to zero or more Logical Databases. A User can have the "admin" flag, the behaviour is slightly different depending on the engine, see below in "Engine Specifics".

Permission LevelDescription
noneno access to the database
readread-only access to the data
read/writeread and write access to the data
adminread and write access to the data plus some more privileges
depending on the engine (see "Engine Specifics")

Logs can contain useful information for debugging or to know more about the behaviour and activity of your database. They are available for download, but must first be gathered from the Database Nodes.

Memory, CPU and Disk usage are important metrics that you should keep an eye on. Graphs are available on the "Metrics" section in the console. You can also track these value from the API to inject them in you own system and raise custom alerts.

Scaleway's infrastructure is divided into regions and zones.

Scaleway Database is available in the following regions:

  • fr-par
  • nl-ams
  • pl-waw

You can use cURL to send request to APIs, we will provide curl example for each step.

Ubuntu

Mac OS

Go to the following link: https://console.scaleway.com/register Provide a valid e-mail address and a password.

Login to your Scaleway account and create a token from the credentials page. A SECRET_KEY and an access_key will show on your screen, the SECRET_KEY will be used as X-Auth-Token.

reference: https://www.scaleway.com/docs/generate-an-api-token/

In order to use Scaleway API you need to have curl installed. It is also a good idea to have jq, which will help you to read and parse JSON output. Make sure you have these two tools before you begin. Otherwise use your package manager to install them.

To call Scaleway API, you need an API key. If you don't have one yet, you can create it with the Scaleway console.

Using this token, get your project ID:

You can also find your project ID in the Scaleway web console.

This documentation shows how to create and connect to a PostgreSQL Database using Scaleway Database product.

Requirements:

You have to complete the "Setup" explained on upper sections, you are logged in scaleway and have your API Token and Project ID. We are going to create, connect to and delete a database.

Create your database instance

ParameterDo
enginedatabase's engine version id
namedatabase's name
node_typeChoose your node type
project_idYour Scaleway project ID and X-Auth-Token are from your account
is_ha_clusterEnable or disable high availability for database instance
disable_backupDisable automated backup on your database instance
tagslist of tags ["tag1", "tag2", ...] attached to a database instance
user_nameIdentifier of the first user of your database
passwordPassword for the fist user

Example:

Now you've created your database instance, you can open a connection between a database client and your database. You will need a PostgreSQL client such as psql

List instances

example:

Get the endpoint, port

Connect to your database with psql client

Congratulations! You have done your first steps on Database product !

In order to migrate your PostgreSQL instance to a Scaleway Database for PostgreSQL instance, you will need the following:

  • pg_dump command-line installed
  • psql command-line installed
  • scaleway database instance ip
  • scaleway database instance port
  • scaleway database instance user and password
  • source instance user
  • source instance port if required
  • list of the database that you want to migrate

You can export your data from your source instance to a local file by performing the following command:

If your source postgreSQL is in a docker container, the command will be:

In order to restore a database, you have to create the destination database and users of that database in your instance. You can create your database and roles by using the web console, or by using the API. Ensure that your user permission is correctly set to all.

Once you have created each destination database and its users, you can import your data from the <database>.sql file to your scaleway database instance by performing the following command:

Versions

Scaleway Database for PostgreSQL supports PostgreSQL versions 10, 11, 12, 13 and 14.

Some modules are available for installation, including the popular TimescaleDB and PostGIS. See FAQ for a list of allowed extensions.

Logical databases are created either using Console/API or SQL.

  • Databases created using the Console/API will be owned by an internal system user. These are called "managed databases".
  • Databases created using SQL will be owned by the creator. These are called "unmanaged databases".
  • Users with the admin level have the CREATEROLE and CREATEDB privileges
  • Users do NOT have the SUPERUSER privileges
  • Permissions management through the Console/API is only possible on "managed databases".

Database will be restored with the permissions they were backuped with. However, privileges will be ignored for deleted users, and if objects cannot be restored to the original owner, they will be owned by an internal system user.

Scaleway Database for MySQL supports MySQL 8.

  • User with the admin level have access to all logical databases and can create new ones.
  • Users created through the API are authenticated using the default authentication plugin, which can be changed in the settings.

Even if we manage your database storage space, you're responsible for its usage.

In the case you're reaching the space provisioned for your instance, the instance will shift to the disk_full status, informing you that there is only 1GB left on your database instance. This lets you either scale up the disk on the console or leaves you enough room to do some cleanup.

In disk_full mode, the default transaction mode will shift to read only, allowing your application to still access its data, while preventing new data from being inserted.

In order to remove data from your instance, you must connect to it as usual, but explicitly shift to a read write transaction, like this:

When enough space is available on the instance, the default transaction mode will change back to read write shortly after, allowing normal operation again.

Failing to cleanup or forcing insertions while the database is in disk_full mode will lead to downtime.

Save and restore backups of your database instance.

List database backups

GET
/rdb/v1/regions/{region}/backups
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.
Query Parameters

name
nullable string
Name of the database backups.

order_by
string
Criteria to use when ordering database backups listing. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, status_asc and status_desc. The default value is created_at_asc.

instance_id
nullable string
UUID of the instance.

organization_id
nullable string
Organization ID the database backups belongs to.

project_id
nullable string
Project ID the database backups belongs to.

page
integer
Page number. The default value is 1.

page_size
integer
Page size. The default value is 20.
200 Response

database_backups
array
List of database backups.

total_count
integer
Total count of database backups available.
Response Example
POST
/rdb/v1/regions/{region}/backups
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.
Body

instance_id
string
UUID of the instance.

database_name
string
Name of the database you want to make a backup of.

name
string
Name of the backup.

expires_at
nullable string
Expiration date (Format ISO 8601) (RFC 3339 format).
Request Example
200 Response

id
string
UUID of the database backup.

instance_id
string
UUID of the instance.

database_name
string
Name of the database of this backup.

name
string
Name of the backup.

status
string
Status of the backup. Possible values are unknown, creating, ready, restoring, deleting, error, exporting and locked. The default value is unknown.

size
nullable integer
Size of the database backup (in bytes).

expires_at
nullable string
Expiration date (Format ISO 8601) (RFC 3339 format).

created_at
nullable string
Creation date (Format ISO 8601) (RFC 3339 format).

updated_at
nullable string
Updated date (Format ISO 8601) (RFC 3339 format).

instance_name
string
Name of the instance of the backup.

download_url
nullable string
URL you can download the backup from.

download_url_expires_at
nullable string
Expiration date of the download link (RFC 3339 format).

region
string
Region of this database backup.

same_region
boolean
Store logical backups in the same region as the source database instance.
Response Example
GET
/rdb/v1/regions/{region}/backups/{database_backup_id}
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

database_backup_id
required string
UUID of the database backup.
200 Response

id
string
UUID of the database backup.

instance_id
string
UUID of the instance.

database_name
string
Name of the database of this backup.

name
string
Name of the backup.

status
string
Status of the backup. Possible values are unknown, creating, ready, restoring, deleting, error, exporting and locked. The default value is unknown.

size
nullable integer
Size of the database backup (in bytes).

expires_at
nullable string
Expiration date (Format ISO 8601) (RFC 3339 format).

created_at
nullable string
Creation date (Format ISO 8601) (RFC 3339 format).

updated_at
nullable string
Updated date (Format ISO 8601) (RFC 3339 format).

instance_name
string
Name of the instance of the backup.

download_url
nullable string
URL you can download the backup from.

download_url_expires_at
nullable string
Expiration date of the download link (RFC 3339 format).

region
string
Region of this database backup.

same_region
boolean
Store logical backups in the same region as the source database instance.
Response Example
PATCH
/rdb/v1/regions/{region}/backups/{database_backup_id}
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

database_backup_id
required string
UUID of the database backup to update.
Body

name
nullable string
Name of the Database Backup.

expires_at
nullable string
Expiration date (Format ISO 8601) (RFC 3339 format).
Request Example
200 Response

id
string
UUID of the database backup.

instance_id
string
UUID of the instance.

database_name
string
Name of the database of this backup.

name
string
Name of the backup.

status
string
Status of the backup. Possible values are unknown, creating, ready, restoring, deleting, error, exporting and locked. The default value is unknown.

size
nullable integer
Size of the database backup (in bytes).

expires_at
nullable string
Expiration date (Format ISO 8601) (RFC 3339 format).

created_at
nullable string
Creation date (Format ISO 8601) (RFC 3339 format).

updated_at
nullable string
Updated date (Format ISO 8601) (RFC 3339 format).

instance_name
string
Name of the instance of the backup.

download_url
nullable string
URL you can download the backup from.

download_url_expires_at
nullable string
Expiration date of the download link (RFC 3339 format).

region
string
Region of this database backup.

same_region
boolean
Store logical backups in the same region as the source database instance.
Response Example
DELETE
/rdb/v1/regions/{region}/backups/{database_backup_id}
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

database_backup_id
required string
UUID of the database backup to delete.
200 Response

id
string
UUID of the database backup.

instance_id
string
UUID of the instance.

database_name
string
Name of the database of this backup.

name
string
Name of the backup.

status
string
Status of the backup. Possible values are unknown, creating, ready, restoring, deleting, error, exporting and locked. The default value is unknown.

size
nullable integer
Size of the database backup (in bytes).

expires_at
nullable string
Expiration date (Format ISO 8601) (RFC 3339 format).

created_at
nullable string
Creation date (Format ISO 8601) (RFC 3339 format).

updated_at
nullable string
Updated date (Format ISO 8601) (RFC 3339 format).

instance_name
string
Name of the instance of the backup.

download_url
nullable string
URL you can download the backup from.

download_url_expires_at
nullable string
Expiration date of the download link (RFC 3339 format).

region
string
Region of this database backup.

same_region
boolean
Store logical backups in the same region as the source database instance.
Response Example
POST
/rdb/v1/regions/{region}/backups/{database_backup_id}/export
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

database_backup_id
required string
UUID of the database backup you want to export.
Body

Request Example
200 Response

id
string
UUID of the database backup.

instance_id
string
UUID of the instance.

database_name
string
Name of the database of this backup.

name
string
Name of the backup.

status
string
Status of the backup. Possible values are unknown, creating, ready, restoring, deleting, error, exporting and locked. The default value is unknown.

size
nullable integer
Size of the database backup (in bytes).

expires_at
nullable string
Expiration date (Format ISO 8601) (RFC 3339 format).

created_at
nullable string
Creation date (Format ISO 8601) (RFC 3339 format).

updated_at
nullable string
Updated date (Format ISO 8601) (RFC 3339 format).

instance_name
string
Name of the instance of the backup.

download_url
nullable string
URL you can download the backup from.

download_url_expires_at
nullable string
Expiration date of the download link (RFC 3339 format).

region
string
Region of this database backup.

same_region
boolean
Store logical backups in the same region as the source database instance.
Response Example
POST
/rdb/v1/regions/{region}/backups/{database_backup_id}/restore
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

database_backup_id
required string
Backup of a logical database.
Body

database_name
nullable string
Defines the destination database in order to restore into a specified database, the default destination is set to the origin database of the backup.

instance_id
required string
Defines the rdb instance where the backup has to be restored.
Request Example
200 Response

id
string
UUID of the database backup.

instance_id
string
UUID of the instance.

database_name
string
Name of the database of this backup.

name
string
Name of the backup.

status
string
Status of the backup. Possible values are unknown, creating, ready, restoring, deleting, error, exporting and locked. The default value is unknown.

size
nullable integer
Size of the database backup (in bytes).

expires_at
nullable string
Expiration date (Format ISO 8601) (RFC 3339 format).

created_at
nullable string
Creation date (Format ISO 8601) (RFC 3339 format).

updated_at
nullable string
Updated date (Format ISO 8601) (RFC 3339 format).

instance_name
string
Name of the instance of the backup.

download_url
nullable string
URL you can download the backup from.

download_url_expires_at
nullable string
Expiration date of the download link (RFC 3339 format).

region
string
Region of this database backup.

same_region
boolean
Store logical backups in the same region as the source database instance.
Response Example

Software that stores and retrieves data from a database. Each database engine has a name and versions.

GET
/rdb/v1/regions/{region}/database-engines
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.
Query Parameters

name
nullable string
Name of the Database Engine.

version
nullable string
Version of the Database Engine.

page
integer
Page number. The default value is 1.

page_size
integer
Page size. The default value is 20.
200 Response

engines
array
List of the available database engines.

total_count
integer
Total count of database engines available.
Response Example

A Database Instance is composed of one or more Nodes, depending of the is_ha_cluster setting. Autohealing is enabled by default for HA clusters. Database automated backup is enabled by default in order to prevent data loss.

GET
/rdb/v1/regions/{region}/instances
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.
Query Parameters

tags
array
List instance that have a given tags.

name
nullable string
List instance that match a given name pattern.

order_by
string
Criteria to use when ordering instance listing. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, region, status_asc and status_desc. The default value is created_at_asc.

organization_id
nullable string
Please use `project_id` instead.

project_id
nullable string
Project ID to list the instance of.

page
integer
Page number. The default value is 1.

page_size
integer
Page size. The default value is 20.
200 Response

instances
array
List all instances available in a given organization/project.

total_count
integer
Total count of instances available in a given organization/project.
Response Example
POST
/rdb/v1/regions/{region}/instances
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.
Body

organization_id
deprecated string
Please use `project_id` instead. Only one of organization_id and project_id may be set.

project_id
string
The project ID on which to create the instance. Only one of organization_id and project_id may be set.

name
string
Name of the instance.

engine
required string
Database engine of the database (PostgreSQL, MySQL, ...).

user_name
required string
Name of the user created when the instance is created.

password
required string
Password of the user.

node_type
required string
Type of node to use for the instance.

is_ha_cluster
boolean
Whether or not High-Availability is enabled.

disable_backup
boolean
Whether or not backups are disabled.

tags
array
Tags to apply to the instance.

init_settings
array
List of engine settings to be set at database initialisation.

volume_type
string
Type of volume where data are stored (lssd, bssd, ...). Possible values are lssd and bssd. The default value is lssd.

volume_size
integer
Volume size when volume_type is not lssd (in bytes).

init_endpoints
array
One or multiple EndpointSpec used to expose your database instance.

backup_same_region
boolean
Store logical backups in the same region as the database instance.
Request Example
200 Response

created_at
nullable string
Creation date (Format ISO 8601) (RFC 3339 format).

volume
object
Volumes of the instance.

region
string
Region the instance is in.

id
string
UUID of the instance.

name
string
Name of the instance.

organization_id
string
Organization ID the instance belongs to.

project_id
string
Project ID the instance belongs to.

status
string
Status of the instance. Possible values are unknown, ready, provisioning, configuring, deleting, error, autohealing, locked, initializing, disk_full, backuping, snapshotting and restarting. The default value is unknown.

engine
string
Database engine of the database (PostgreSQL, MySQL, ...).

endpoint
deprecated object
Endpoint of the instance.

tags
array
List of tags applied to the instance.

settings
array
Advanced settings of the instance.

backup_schedule
object
Backup schedule of the instance.

is_ha_cluster
boolean
Whether or not High-Availability is enabled.

read_replicas
array
Read replicas of the instance.

node_type
string
Node type of the instance.

init_settings
array
List of engine settings to be set at database initialisation.

endpoints
array
List of instance endpoints.

logs_policy
object
Logs policy of the instance.

backup_same_region
boolean
Store logical backups in the same region as the database instance.

maintenances
array
List of instance maintenances.
Response Example
GET
/rdb/v1/regions/{region}/instances/{instance_id}
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance.
200 Response

created_at
nullable string
Creation date (Format ISO 8601) (RFC 3339 format).

volume
object
Volumes of the instance.

region
string
Region the instance is in.

id
string
UUID of the instance.

name
string
Name of the instance.

organization_id
string
Organization ID the instance belongs to.

project_id
string
Project ID the instance belongs to.

status
string
Status of the instance. Possible values are unknown, ready, provisioning, configuring, deleting, error, autohealing, locked, initializing, disk_full, backuping, snapshotting and restarting. The default value is unknown.

engine
string
Database engine of the database (PostgreSQL, MySQL, ...).

endpoint
deprecated object
Endpoint of the instance.

tags
array
List of tags applied to the instance.

settings
array
Advanced settings of the instance.

backup_schedule
object
Backup schedule of the instance.

is_ha_cluster
boolean
Whether or not High-Availability is enabled.

read_replicas
array
Read replicas of the instance.

node_type
string
Node type of the instance.

init_settings
array
List of engine settings to be set at database initialisation.

endpoints
array
List of instance endpoints.

logs_policy
object
Logs policy of the instance.

backup_same_region
boolean
Store logical backups in the same region as the database instance.

maintenances
array
List of instance maintenances.
Response Example
PATCH
/rdb/v1/regions/{region}/instances/{instance_id}
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance to update.
Body

backup_schedule_frequency
nullable integer
In hours.

backup_schedule_retention
nullable integer
In days.

is_backup_schedule_disabled
nullable boolean
Whether or not the backup schedule is disabled.

name
nullable string
Name of the instance.

tags
nullable array
Tags of a given instance.

logs_policy
object
Logs policy of the instance.

backup_same_region
nullable boolean
Store logical backups in the same region as the database instance.
Request Example
200 Response

created_at
nullable string
Creation date (Format ISO 8601) (RFC 3339 format).

volume
object
Volumes of the instance.

region
string
Region the instance is in.

id
string
UUID of the instance.

name
string
Name of the instance.

organization_id
string
Organization ID the instance belongs to.

project_id
string
Project ID the instance belongs to.

status
string
Status of the instance. Possible values are unknown, ready, provisioning, configuring, deleting, error, autohealing, locked, initializing, disk_full, backuping, snapshotting and restarting. The default value is unknown.

engine
string
Database engine of the database (PostgreSQL, MySQL, ...).

endpoint
deprecated object
Endpoint of the instance.

tags
array
List of tags applied to the instance.

settings
array
Advanced settings of the instance.

backup_schedule
object
Backup schedule of the instance.

is_ha_cluster
boolean
Whether or not High-Availability is enabled.

read_replicas
array
Read replicas of the instance.

node_type
string
Node type of the instance.

init_settings
array
List of engine settings to be set at database initialisation.

endpoints
array
List of instance endpoints.

logs_policy
object
Logs policy of the instance.

backup_same_region
boolean
Store logical backups in the same region as the database instance.

maintenances
array
List of instance maintenances.
Response Example
DELETE
/rdb/v1/regions/{region}/instances/{instance_id}
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance to delete.
200 Response

created_at
nullable string
Creation date (Format ISO 8601) (RFC 3339 format).

volume
object
Volumes of the instance.

region
string
Region the instance is in.

id
string
UUID of the instance.

name
string
Name of the instance.

organization_id
string
Organization ID the instance belongs to.

project_id
string
Project ID the instance belongs to.

status
string
Status of the instance. Possible values are unknown, ready, provisioning, configuring, deleting, error, autohealing, locked, initializing, disk_full, backuping, snapshotting and restarting. The default value is unknown.

engine
string
Database engine of the database (PostgreSQL, MySQL, ...).

endpoint
deprecated object
Endpoint of the instance.

tags
array
List of tags applied to the instance.

settings
array
Advanced settings of the instance.

backup_schedule
object
Backup schedule of the instance.

is_ha_cluster
boolean
Whether or not High-Availability is enabled.

read_replicas
array
Read replicas of the instance.

node_type
string
Node type of the instance.

init_settings
array
List of engine settings to be set at database initialisation.

endpoints
array
List of instance endpoints.

logs_policy
object
Logs policy of the instance.

backup_same_region
boolean
Store logical backups in the same region as the database instance.

maintenances
array
List of instance maintenances.
Response Example
GET
/rdb/v1/regions/{region}/instances/{instance_id}/certificate
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance.
200 Response

name
string

content_type
string

content
string
Response Example
POST
/rdb/v1/regions/{region}/instances/{instance_id}/clone
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance you want to clone.
Body

name
string
Name of the clone instance.

node_type
nullable string
Node type of the clone.
Request Example
200 Response

created_at
nullable string
Creation date (Format ISO 8601) (RFC 3339 format).

volume
object
Volumes of the instance.

region
string
Region the instance is in.

id
string
UUID of the instance.

name
string
Name of the instance.

organization_id
string
Organization ID the instance belongs to.

project_id
string
Project ID the instance belongs to.

status
string
Status of the instance. Possible values are unknown, ready, provisioning, configuring, deleting, error, autohealing, locked, initializing, disk_full, backuping, snapshotting and restarting. The default value is unknown.

engine
string
Database engine of the database (PostgreSQL, MySQL, ...).

endpoint
deprecated object
Endpoint of the instance.

tags
array
List of tags applied to the instance.

settings
array
Advanced settings of the instance.

backup_schedule
object
Backup schedule of the instance.

is_ha_cluster
boolean
Whether or not High-Availability is enabled.

read_replicas
array
Read replicas of the instance.

node_type
string
Node type of the instance.

init_settings
array
List of engine settings to be set at database initialisation.

endpoints
array
List of instance endpoints.

logs_policy
object
Logs policy of the instance.

backup_same_region
boolean
Store logical backups in the same region as the database instance.

maintenances
array
List of instance maintenances.
Response Example
GET
/rdb/v1/regions/{region}/instances/{instance_id}/logs
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance you want logs of.
Query Parameters

order_by
string
Criteria to use when ordering instance logs listing. Possible values are created_at_asc and created_at_desc. The default value is created_at_asc.
200 Response

instance_logs
array
Available logs in a given instance.
Response Example
GET
/rdb/v1/regions/{region}/instances/{instance_id}/logs-details
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance you want logs of.
200 Response

details
array
Remote instance logs details.
Response Example

Get database instance metrics.

GET
/rdb/v1/regions/{region}/instances/{instance_id}/metrics
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance.
Query Parameters

start_date
nullable string
Start date to gather metrics from (RFC 3339 format).

end_date
nullable string
End date to gather metrics from (RFC 3339 format).

metric_name
nullable string
Name of the metric to gather.
200 Response

timeseries
array
Time series of metrics of a given instance.
Response Example

Prepare your instance logs. Logs will be grouped on a minimum interval of a day.

POST
/rdb/v1/regions/{region}/instances/{instance_id}/prepare-logs
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance you want logs of.
Body

start_date
nullable string
Start datetime of your log. Format: `{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z` (RFC 3339 format).

end_date
nullable string
End datetime of your log. Format: `{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z` (RFC 3339 format).
Request Example
200 Response

instance_logs
array
Instance logs for a given instance between a start and an end date.
Response Example
POST
/rdb/v1/regions/{region}/instances/{instance_id}/purge-logs
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance you want logs of.
Body

log_name
nullable string
Specific log name to purge.
Request Example
204 Response

Empty response
POST
/rdb/v1/regions/{region}/instances/{instance_id}/renew-certificate
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance you want logs of.
Body

Request Example
204 Response

Empty response
POST
/rdb/v1/regions/{region}/instances/{instance_id}/restart
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance you want to restart.
Body

Request Example
200 Response

created_at
nullable string
Creation date (Format ISO 8601) (RFC 3339 format).

volume
object
Volumes of the instance.

region
string
Region the instance is in.

id
string
UUID of the instance.

name
string
Name of the instance.

organization_id
string
Organization ID the instance belongs to.

project_id
string
Project ID the instance belongs to.

status
string
Status of the instance. Possible values are unknown, ready, provisioning, configuring, deleting, error, autohealing, locked, initializing, disk_full, backuping, snapshotting and restarting. The default value is unknown.

engine
string
Database engine of the database (PostgreSQL, MySQL, ...).

endpoint
deprecated object
Endpoint of the instance.

tags
array
List of tags applied to the instance.

settings
array
Advanced settings of the instance.

backup_schedule
object
Backup schedule of the instance.

is_ha_cluster
boolean
Whether or not High-Availability is enabled.

read_replicas
array
Read replicas of the instance.

node_type
string
Node type of the instance.

init_settings
array
List of engine settings to be set at database initialisation.

endpoints
array
List of instance endpoints.

logs_policy
object
Logs policy of the instance.

backup_same_region
boolean
Store logical backups in the same region as the database instance.

maintenances
array
List of instance maintenances.
Response Example

Upgrade your current node_type or enable high availability on your standalone database instance.

POST
/rdb/v1/regions/{region}/instances/{instance_id}/upgrade
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance you want to upgrade.
Body

node_type
string
Node type of the instance you want to upgrade to. Only one of node_type, enable_ha, volume_size and volume_type may be set.

enable_ha
boolean
Set to true to enable high availability on your instance. Only one of node_type, enable_ha, volume_size and volume_type may be set.

volume_size
integer
Increase your block storage volume size. Only one of node_type, enable_ha, volume_size and volume_type may be set.

volume_type
string
Change your instance storage type. Possible values are lssd and bssd. The default value is lssd. Only one of node_type, enable_ha, volume_size and volume_type may be set.
Request Example
200 Response

created_at
nullable string
Creation date (Format ISO 8601) (RFC 3339 format).

volume
object
Volumes of the instance.

region
string
Region the instance is in.

id
string
UUID of the instance.

name
string
Name of the instance.

organization_id
string
Organization ID the instance belongs to.

project_id
string
Project ID the instance belongs to.

status
string
Status of the instance. Possible values are unknown, ready, provisioning, configuring, deleting, error, autohealing, locked, initializing, disk_full, backuping, snapshotting and restarting. The default value is unknown.

engine
string
Database engine of the database (PostgreSQL, MySQL, ...).

endpoint
deprecated object
Endpoint of the instance.

tags
array
List of tags applied to the instance.

settings
array
Advanced settings of the instance.

backup_schedule
object
Backup schedule of the instance.

is_ha_cluster
boolean
Whether or not High-Availability is enabled.

read_replicas
array
Read replicas of the instance.

node_type
string
Node type of the instance.

init_settings
array
List of engine settings to be set at database initialisation.

endpoints
array
List of instance endpoints.

logs_policy
object
Logs policy of the instance.

backup_same_region
boolean
Store logical backups in the same region as the database instance.

maintenances
array
List of instance maintenances.
Response Example
GET
/rdb/v1/regions/{region}/logs/{instance_log_id}
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_log_id
required string
UUID of the instance_log you want.
200 Response

download_url
nullable string
Presigned S3 URL to download your log file.

id
string
UUID of the instance log.

status
string
Status of the logs in a given instance. Possible values are unknown, ready, creating and error. The default value is unknown.

node_name
string
Name of the undelying node.

expires_at
nullable string
Expiration date (Format ISO 8601) (RFC 3339 format).

created_at
nullable string
Creation date (Format ISO 8601) (RFC 3339 format).

region
string
Region the instance is in.
Response Example

A read replica is a live copy of the main database instance only available for reading. Read replica allows you to scale your database instance for read-heavy database workloads. Read replicas can also be used for Business Intelligence workloads. Listing of read replicas is available in the instance response object. A read replica can have at most one direct access and one private network endpoint. Loadbalancer endpoint is not available on read replica even if this resource is displayed in the read replica response example. If you want to remove a read replica endpoint, you can use the instance delete endpoint API call. Instance Access Control List (ACL) also applies on read replica direct access endpoint. Don't forget to set it to improve the security of your read replica nodes. Be aware that there can be replication lags between the primary node and its read replica nodes. You can try to reduce this lag with some good practices:

  • All your tables should have a primary key
  • Don't run large transactions that modify, delete or insert lots of rows. Try to split it into several small transactions.

You can only create a maximum of 3 read replicas for one instance.

POST
/rdb/v1/regions/{region}/read-replicas
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.
Body

instance_id
required string
UUID of the instance you want a read replica of (UUID format).

endpoint_spec
array
Specification of the endpoint you want to create.
Request Example
200 Response

id
string
UUID of the read replica (UUID format).

endpoints
array
Display read replica connection information.

status
string
Read replica status. Possible values are unknown, provisioning, initializing, ready, deleting, error, locked and configuring. The default value is unknown.

region
string
Region the read replica is in.
Response Example
GET
/rdb/v1/regions/{region}/read-replicas/{read_replica_id}
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

read_replica_id
required string
UUID of the read replica (UUID format).
200 Response

id
string
UUID of the read replica (UUID format).

endpoints
array
Display read replica connection information.

status
string
Read replica status. Possible values are unknown, provisioning, initializing, ready, deleting, error, locked and configuring. The default value is unknown.

region
string
Region the read replica is in.
Response Example
DELETE
/rdb/v1/regions/{region}/read-replicas/{read_replica_id}
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

read_replica_id
required string
UUID of the read replica (UUID format).
200 Response

id
string
UUID of the read replica (UUID format).

endpoints
array
Display read replica connection information.

status
string
Read replica status. Possible values are unknown, provisioning, initializing, ready, deleting, error, locked and configuring. The default value is unknown.

region
string
Region the read replica is in.
Response Example

A read replica can have at most one direct access and one private network endpoint.

POST
/rdb/v1/regions/{region}/read-replicas/{read_replica_id}/endpoints
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

read_replica_id
required string
UUID of the read replica (UUID format).
Body

endpoint_spec
required array
Specification of the endpoint you want to create.
Request Example
200 Response

id
string
UUID of the read replica (UUID format).

endpoints
array
Display read replica connection information.

status
string
Read replica status. Possible values are unknown, provisioning, initializing, ready, deleting, error, locked and configuring. The default value is unknown.

region
string
Region the read replica is in.
Response Example

When you resync a read replica, first it is reset, and then its data is resynchronized from the primary node. Your read replica will be unavailable during the resync process. The duration of this process is proportional to your Database Instance size. The configured endpoints will not change.

POST
/rdb/v1/regions/{region}/read-replicas/{read_replica_id}/reset
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

read_replica_id
required string
UUID of the read replica (UUID format).
Body

Request Example
200 Response

id
string
UUID of the read replica (UUID format).

endpoints
array
Display read replica connection information.

status
string
Read replica status. Possible values are unknown, provisioning, initializing, ready, deleting, error, locked and configuring. The default value is unknown.

region
string
Region the read replica is in.
Response Example

Network Access Control List allows to control network in and out traffic by setting up ACL rules.

GET
/rdb/v1/regions/{region}/instances/{instance_id}/acls
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance.
Query Parameters

page
integer
Page number. The default value is 1.

page_size
integer
Page size. The default value is 20.
200 Response

rules
array
List of the ACL rules present on a given instance.

total_count
integer
Total count of ACL rules present on a given instance.
Response Example

Add an additional ACL rule to a database instance.

POST
/rdb/v1/regions/{region}/instances/{instance_id}/acls
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance you want to add acl rules to.
Body

rules
required array
ACLs rules to add to the instance.
Request Example
200 Response

rules
array
Rules enabled on the instance.
Response Example

Replace all the ACL rules of a database instance.

PUT
/rdb/v1/regions/{region}/instances/{instance_id}/acls
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance where the ACL rules has to be set.
Body

rules
required array
ACL rules to define for the instance.
Request Example
200 Response

rules
array
ACLs rules configured for an instance.
Response Example
DELETE
/rdb/v1/regions/{region}/instances/{instance_id}/acls
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance you want to delete an ACL rules from.
Body

acl_rule_ips
required array
ACL rules IP present on the instance.
Request Example
200 Response

rules
array
ACL rules present on the instance.
Response Example

Instance Settings are tunables of Database Engines. Available settings depend on the database engine and its version.

POST
/rdb/v1/regions/{region}/instances/{instance_id}/settings
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance you want to add settings to.
Body

settings
required array
Settings to add on the instance.
Request Example
200 Response

settings
array
Settings available on the instance.
Response Example
PUT
/rdb/v1/regions/{region}/instances/{instance_id}/settings
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance where the settings has to be set.
Body

settings
required array
Settings to define for the instance.
Request Example
200 Response

settings
array
Settings configured for a given instance.
Response Example
DELETE
/rdb/v1/regions/{region}/instances/{instance_id}/settings
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance to delete settings from.
Body

setting_names
required array
Settings names to delete.
Request Example
200 Response

settings
array
Settings names to delete from the instance.
Response Example

Define some privileges to a user on a specific database.

GET
/rdb/v1/regions/{region}/instances/{instance_id}/privileges
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance.
Query Parameters

order_by
string
Criteria to use when ordering privileges listing. Possible values are user_name_asc, user_name_desc, database_name_asc and database_name_desc. The default value is user_name_asc.

page
integer
Page number. The default value is 1.

page_size
integer
Page size. The default value is 20.

database_name
nullable string
Name of the database.

user_name
nullable string
Name of the user.
200 Response

privileges
array
Privileges of a given user in a given database in a given instance.

total_count
integer
Total count of privileges present on a given database.
Response Example
PUT
/rdb/v1/regions/{region}/instances/{instance_id}/privileges
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance.
Body

database_name
string
Name of the database.

user_name
string
Name of the user.

permission
string
Permission to set (Read, Read/Write, All, Custom). Possible values are readonly, readwrite, all, custom and none. The default value is readonly.
Request Example
200 Response

permission
string
Permission (Read, Read/Write, All, Custom). Possible values are readonly, readwrite, all, custom and none. The default value is readonly.

database_name
string
Name of the database.

user_name
string
Name of the user.
Response Example

Manage users on your instance

GET
/rdb/v1/regions/{region}/instances/{instance_id}/users
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance.
Query Parameters

name
nullable string
Name of the user.

order_by
string
Criteria to use when ordering users listing. Possible values are name_asc, name_desc, is_admin_asc and is_admin_desc. The default value is name_asc.

page
integer
Page number. The default value is 1.

page_size
integer
Page size. The default value is 20.
200 Response

users
array
List of users in a given instance.

total_count
integer
Total count of users present on a given instance.
Response Example
POST
/rdb/v1/regions/{region}/instances/{instance_id}/users
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance you want to create a user in.
Body

name
string
Name of the user you want to create.

password
string
Password of the user you want to create.

is_admin
boolean
Whether the user you want to create will have administrative privileges.
Request Example
200 Response

name
string
Name of the user (Length must be between 1 and 63 characters, First character must be an alphabet character (a-zA-Z), Your Username cannot start with '_rdb', Only a-zA-Z0-9_$- characters are accepted).

is_admin
boolean
Whether or not a user got administrative privileges on the database instance.
Response Example
PATCH
/rdb/v1/regions/{region}/instances/{instance_id}/users/{name}
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance the user belongs to.

name
required string
Name of the database user.
Body

password
nullable string
Password of the database user.

is_admin
nullable boolean
Whether or not this user got administrative privileges.
Request Example
200 Response

name
string
Name of the user (Length must be between 1 and 63 characters, First character must be an alphabet character (a-zA-Z), Your Username cannot start with '_rdb', Only a-zA-Z0-9_$- characters are accepted).

is_admin
boolean
Whether or not a user got administrative privileges on the database instance.
Response Example
DELETE
/rdb/v1/regions/{region}/instances/{instance_id}/users/{name}
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance to delete a user from.

name
required string
Name of the user.
204 Response

Empty response

Manage logical databases on your instance

GET
/rdb/v1/regions/{region}/instances/{instance_id}/databases
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance to list database of.
Query Parameters

name
nullable string
Name of the database.

managed
nullable boolean
Whether or not the database is managed.

owner
nullable string
User that owns this database.

order_by
string
Criteria to use when ordering database listing. Possible values are name_asc, name_desc, size_asc and size_desc. The default value is name_asc.

page
integer
Page number. The default value is 1.

page_size
integer
Page size. The default value is 20.
200 Response

databases
array
List of the databases.

total_count
integer
Total count of databases present on a given instance.
Response Example
POST
/rdb/v1/regions/{region}/instances/{instance_id}/databases
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance where to create the database.
Body

name
string
Name of the database.
Request Example
200 Response

name
string
Name of the database.

owner
string
Name of the owner of the database.

managed
boolean
Whether or not the database is managed or not.

size
integer
Size of the database (in bytes).
Response Example
DELETE
/rdb/v1/regions/{region}/instances/{instance_id}/databases/{name}
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance where to delete the database.

name
required string
Name of the database to delete.
204 Response

Empty response

Node types powering your instance

GET
/rdb/v1/regions/{region}/node-types
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.
Query Parameters

include_disabled_types
boolean
Whether or not to include disabled types.

page
integer
Page number. The default value is 1.

page_size
integer
Page size. The default value is 20.
200 Response

node_types
array
Types of the node.

total_count
integer
Total count of node-types available.
Response Example

Create, restore and manage block snapshot

POST
/rdb/v1/regions/{region}/instances/{instance_id}/snapshots
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance.
Body

name
required string
Name of the snapshot.

expires_at
nullable string
Expiration date (Format ISO 8601) (RFC 3339 format).
Request Example
200 Response

id
string
UUID of the snapshot.

instance_id
string
UUID of the instance.

name
string
Name of the snapshot.

status
string
Status of the snapshot. Possible values are unknown, creating, ready, restoring, deleting, error and locked. The default value is unknown.

size
nullable integer
Size of the snapshot (in bytes).

expires_at
nullable string
Expiration date (Format ISO 8601) (RFC 3339 format).

created_at
nullable string
Creation date (Format ISO 8601) (RFC 3339 format).

updated_at
nullable string
Updated date (Format ISO 8601) (RFC 3339 format).

instance_name
string
Name of the instance of the snapshot.

node_type
string
Source node type.

region
string
Region of this snapshot.
Response Example
GET
/rdb/v1/regions/{region}/snapshots
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.
Query Parameters

name
nullable string
Name of the snapshot.

order_by
string
Criteria to use when ordering snapshot listing. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, expires_at_asc and expires_at_desc. The default value is created_at_asc.

instance_id
nullable string
UUID of the instance.

organization_id
nullable string
Organization ID the snapshots belongs to.

project_id
nullable string
Project ID the snapshots belongs to.

page
integer
Page number. The default value is 1.

page_size
integer
Page size. The default value is 20.
200 Response

snapshots
array
List of snapshots.

total_count
integer
Total count of snapshots available.
Response Example
GET
/rdb/v1/regions/{region}/snapshots/{snapshot_id}
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

snapshot_id
required string
UUID of the snapshot.
200 Response

id
string
UUID of the snapshot.

instance_id
string
UUID of the instance.

name
string
Name of the snapshot.

status
string
Status of the snapshot. Possible values are unknown, creating, ready, restoring, deleting, error and locked. The default value is unknown.

size
nullable integer
Size of the snapshot (in bytes).

expires_at
nullable string
Expiration date (Format ISO 8601) (RFC 3339 format).

created_at
nullable string
Creation date (Format ISO 8601) (RFC 3339 format).

updated_at
nullable string
Updated date (Format ISO 8601) (RFC 3339 format).

instance_name
string
Name of the instance of the snapshot.

node_type
string
Source node type.

region
string
Region of this snapshot.
Response Example
PATCH
/rdb/v1/regions/{region}/snapshots/{snapshot_id}
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

snapshot_id
required string
UUID of the snapshot to update.
Body

name
nullable string
Name of the snapshot.

expires_at
nullable string
Expiration date (Format ISO 8601) (RFC 3339 format).
Request Example
200 Response

id
string
UUID of the snapshot.

instance_id
string
UUID of the instance.

name
string
Name of the snapshot.

status
string
Status of the snapshot. Possible values are unknown, creating, ready, restoring, deleting, error and locked. The default value is unknown.

size
nullable integer
Size of the snapshot (in bytes).

expires_at
nullable string
Expiration date (Format ISO 8601) (RFC 3339 format).

created_at
nullable string
Creation date (Format ISO 8601) (RFC 3339 format).

updated_at
nullable string
Updated date (Format ISO 8601) (RFC 3339 format).

instance_name
string
Name of the instance of the snapshot.

node_type
string
Source node type.

region
string
Region of this snapshot.
Response Example
DELETE
/rdb/v1/regions/{region}/snapshots/{snapshot_id}
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

snapshot_id
required string
UUID of the snapshot to delete.
200 Response

id
string
UUID of the snapshot.

instance_id
string
UUID of the instance.

name
string
Name of the snapshot.

status
string
Status of the snapshot. Possible values are unknown, creating, ready, restoring, deleting, error and locked. The default value is unknown.

size
nullable integer
Size of the snapshot (in bytes).

expires_at
nullable string
Expiration date (Format ISO 8601) (RFC 3339 format).

created_at
nullable string
Creation date (Format ISO 8601) (RFC 3339 format).

updated_at
nullable string
Updated date (Format ISO 8601) (RFC 3339 format).

instance_name
string
Name of the instance of the snapshot.

node_type
string
Source node type.

region
string
Region of this snapshot.
Response Example
POST
/rdb/v1/regions/{region}/snapshots/{snapshot_id}/create-instance
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

snapshot_id
required string
Block snapshot of the instance.
Body

instance_name
string
Name of the instance created with the snapshot.

is_ha_cluster
nullable boolean
Whether or not High-Availability is enabled on the new instance.

node_type
nullable string
The node type used to restore the snapshot.
Request Example
200 Response

created_at
nullable string
Creation date (Format ISO 8601) (RFC 3339 format).

volume
object
Volumes of the instance.

region
string
Region the instance is in.

id
string
UUID of the instance.

name
string
Name of the instance.

organization_id
string
Organization ID the instance belongs to.

project_id
string
Project ID the instance belongs to.

status
string
Status of the instance. Possible values are unknown, ready, provisioning, configuring, deleting, error, autohealing, locked, initializing, disk_full, backuping, snapshotting and restarting. The default value is unknown.

engine
string
Database engine of the database (PostgreSQL, MySQL, ...).

endpoint
deprecated object
Endpoint of the instance.

tags
array
List of tags applied to the instance.

settings
array
Advanced settings of the instance.

backup_schedule
object
Backup schedule of the instance.

is_ha_cluster
boolean
Whether or not High-Availability is enabled.

read_replicas
array
Read replicas of the instance.

node_type
string
Node type of the instance.

init_settings
array
List of engine settings to be set at database initialisation.

endpoints
array
List of instance endpoints.

logs_policy
object
Logs policy of the instance.

backup_same_region
boolean
Store logical backups in the same region as the database instance.

maintenances
array
List of instance maintenances.
Response Example

Create and manage database instance endpoints

GET
/rdb/v1/regions/{region}/endpoints/{endpoint_id}
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

endpoint_id
required string
UUID of the endpoint you want to get.
200 Response

id
string
UUID of the endpoint (UUID format).

ip
nullable string
IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set.

port
integer
TCP port of the endpoint.

name
nullable string
Name of the endpoint.

private_network
object
Private network details. Only one of private_network, load_balancer and direct_access may be set.

load_balancer
object
Load balancer details. Only one of private_network, load_balancer and direct_access may be set.

direct_access
object
Direct access details. Only one of private_network, load_balancer and direct_access may be set.

hostname
string
Hostname of the endpoint. Only one of ip and hostname may be set.
Response Example
DELETE
/rdb/v1/regions/{region}/endpoints/{endpoint_id}
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

endpoint_id
required string
This endpoint can also be used to delete a read replica endpoint.
204 Response

Empty response
POST
/rdb/v1/regions/{region}/instances/{instance_id}/endpoints
Path Parameters

region
required string
The region you want to target. Possible values are fr-par, nl-ams and pl-waw.

instance_id
required string
UUID of the instance you want to add endpoint to.
Body

endpoint_spec
object
Specification of the endpoint you want to create.
Request Example
200 Response

id
string
UUID of the endpoint (UUID format).

ip
nullable string
IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set.

port
integer
TCP port of the endpoint.

name
nullable string
Name of the endpoint.

private_network
object
Private network details. Only one of private_network, load_balancer and direct_access may be set.

load_balancer
object
Load balancer details. Only one of private_network, load_balancer and direct_access may be set.

direct_access
object
Direct access details. Only one of private_network, load_balancer and direct_access may be set.

hostname
string
Hostname of the endpoint. Only one of ip and hostname may be set.
Response Example