Scaleway Backups API

A database backup is a dated export of a Database Instance stored on an offsite backend located in a different region than your database, by default. Once a backup is created, it can be used to restore the database. Each logical database in a Database Instance is backed up and can be restored separately.

Business capability
IT Infrastructure Management BC-600.50

Operations 7

GET /rdb/v1/regions/{region}/backups List database backups #
POST /rdb/v1/regions/{region}/backups Create a database backup #
GET /rdb/v1/regions/{region}/backups/{database_backup_id} Get a database backup #
PATCH /rdb/v1/regions/{region}/backups/{database_backup_id} Update a database backup #
DELETE /rdb/v1/regions/{region}/backups/{database_backup_id} Delete a database backup #
POST /rdb/v1/regions/{region}/backups/{database_backup_id}/export Export a database backup #
POST /rdb/v1/regions/{region}/backups/{database_backup_id}/restore Restore a database backup #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/scaleway-backups-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

scaleway-backups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Managed Database for PostgreSQL and MySQL Backups API
  description: Managed Database for PostgreSQL and MySQL provides fully-managed relational Database Instances, with MySQL or PostgreSQL as database engines.
  version: v1
servers:
- url: https://api.scaleway.com
tags:
- name: Backups
  description: A database backup is a dated export of a Database Instance stored on an offsite backend located in a different region than your database, by default. Once a backup is created, it can be used to restore the database. Each logical database in a Database Instance is backed up and can be restored separately.
paths:
  /rdb/v1/regions/{region}/backups:
    get:
      tags:
      - Backups
      operationId: ListDatabaseBackups
      summary: List database backups
      description: List all backups in a specified region, for a given Scaleway Organization or Scaleway Project. By default, the backups listed are ordered by creation date in ascending order. This can be modified via the `order_by` field.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: query
        name: name
        description: Name of the database backups.
        schema:
          type: string
      - in: query
        name: order_by
        description: Criteria to use when ordering database backups listing.
        schema:
          type: string
          enum:
          - created_at_asc
          - created_at_desc
          - name_asc
          - name_desc
          - status_asc
          - status_desc
          default: created_at_asc
      - in: query
        name: instance_id
        description: UUID of the Database Instance.
        schema:
          type: string
      - in: query
        name: organization_id
        description: Organization ID of the Organization the database backups belong to.
        schema:
          type: string
      - in: query
        name: project_id
        description: Project ID of the Project the database backups belong to.
        schema:
          type: string
      - in: query
        name: page
        schema:
          $ref: '#/components/schemas/google.protobuf.Int32Value'
      - in: query
        name: page_size
        schema:
          type: integer
          format: uint32
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.ListDatabaseBackupsResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X GET \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  \"https://api.scaleway.com/rdb/v1/regions/{region}/backups\""
      - lang: HTTPie
        source: "http GET \"https://api.scaleway.com/rdb/v1/regions/{region}/backups\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
    post:
      tags:
      - Backups
      operationId: CreateDatabaseBackup
      summary: Create a database backup
      description: Create a new backup. You must set the `instance_id`, `database_name`, `name` and `expires_at` parameters.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.DatabaseBackup'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                instance_id:
                  type: string
                  description: UUID of the Database Instance.
                database_name:
                  type: string
                  description: Name of the database you want to back up.
                name:
                  type: string
                  description: Name of the backup.
                expires_at:
                  type: string
                  description: Expiration date (must follow the ISO 8601 format). (RFC 3339 format)
                  format: date-time
                  example: '2022-03-22T12:34:56.123456Z'
                  nullable: true
              required:
              - instance_id
              - database_name
              x-properties-order:
              - instance_id
              - database_name
              - name
              - expires_at
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X POST \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"database_name\": \"string\",\n    \"instance_id\": \"string\",\n    \"name\": \"string\"\n  }' \\\n  \"https://api.scaleway.com/rdb/v1/regions/{region}/backups\""
      - lang: HTTPie
        source: "http POST \"https://api.scaleway.com/rdb/v1/regions/{region}/backups\" \\\n  X-Auth-Token:$SCW_SECRET_KEY \\\n  database_name=\"string\" \\\n  instance_id=\"string\" \\\n  name=\"string\""
  /rdb/v1/regions/{region}/backups/{database_backup_id}:
    get:
      tags:
      - Backups
      operationId: GetDatabaseBackup
      summary: Get a database backup
      description: Retrieve information about a given backup, specified by its database backup ID and region. Full details about the backup, like size, URL and expiration date, are returned in the response.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: database_backup_id
        description: UUID of the database backup.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.DatabaseBackup'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X GET \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  \"https://api.scaleway.com/rdb/v1/regions/{region}/backups/{database_backup_id}\""
      - lang: HTTPie
        source: "http GET \"https://api.scaleway.com/rdb/v1/regions/{region}/backups/{database_backup_id}\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
    patch:
      tags:
      - Backups
      operationId: UpdateDatabaseBackup
      summary: Update a database backup
      description: Update the parameters of a backup, including name and expiration date.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: database_backup_id
        description: UUID of the database backup to update.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.DatabaseBackup'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the Database Backup.
                  nullable: true
                expires_at:
                  type: string
                  description: Expiration date (must follow the ISO 8601 format). (RFC 3339 format)
                  format: date-time
                  example: '2022-03-22T12:34:56.123456Z'
                  nullable: true
              x-properties-order:
              - name
              - expires_at
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X PATCH \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{}' \\\n  \"https://api.scaleway.com/rdb/v1/regions/{region}/backups/{database_backup_id}\""
      - lang: HTTPie
        source: "http PATCH \"https://api.scaleway.com/rdb/v1/regions/{region}/backups/{database_backup_id}\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
    delete:
      tags:
      - Backups
      operationId: DeleteDatabaseBackup
      summary: Delete a database backup
      description: Delete a backup, specified by its database backup ID and region. Deleting a backup is permanent, and cannot be undone.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: database_backup_id
        description: UUID of the database backup to delete.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.DatabaseBackup'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X DELETE \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  \"https://api.scaleway.com/rdb/v1/regions/{region}/backups/{database_backup_id}\""
      - lang: HTTPie
        source: "http DELETE \"https://api.scaleway.com/rdb/v1/regions/{region}/backups/{database_backup_id}\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
  /rdb/v1/regions/{region}/backups/{database_backup_id}/export:
    post:
      tags:
      - Backups
      operationId: ExportDatabaseBackup
      summary: Export a database backup
      description: Export a backup, specified by the `database_backup_id` and the `region` parameters. The download URL is returned in the response.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: database_backup_id
        description: UUID of the database backup you want to export.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.DatabaseBackup'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X POST \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{}' \\\n  \"https://api.scaleway.com/rdb/v1/regions/{region}/backups/{database_backup_id}/export\""
      - lang: HTTPie
        source: "http POST \"https://api.scaleway.com/rdb/v1/regions/{region}/backups/{database_backup_id}/export\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
  /rdb/v1/regions/{region}/backups/{database_backup_id}/restore:
    post:
      tags:
      - Backups
      operationId: RestoreDatabaseBackup
      summary: Restore a database backup
      description: Launch the process of restoring database backup. You must specify the `instance_id` of the Database Instance of destination, where the backup will be restored. Note that large database backups can take up to several hours to restore.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: database_backup_id
        description: Backup of a logical database.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.DatabaseBackup'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                database_name:
                  type: string
                  description: Defines the destination database to restore into a specified database (the default destination is set to the origin database of the backup).
                  nullable: true
                instance_id:
                  type: string
                  description: Defines the Database Instance where the backup has to be restored.
              required:
              - instance_id
              x-properties-order:
              - database_name
              - instance_id
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X POST \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"instance_id\":\"string\"}' \\\n  \"https://api.scaleway.com/rdb/v1/regions/{region}/backups/{database_backup_id}/restore\""
      - lang: HTTPie
        source: "http POST \"https://api.scaleway.com/rdb/v1/regions/{region}/backups/{database_backup_id}/restore\" \\\n  X-Auth-Token:$SCW_SECRET_KEY \\\n  instance_id=\"string\""
components:
  schemas:
    google.protobuf.Int32Value:
      type: integer
      format: int32
      nullable: true
    scaleway.rdb.v1.DatabaseBackup:
      type: object
      properties:
        id:
          type: string
          description: UUID of the database backup.
        instance_id:
          type: string
          description: UUID of the Database Instance.
        database_name:
          type: string
          description: Name of backed up database.
        name:
          type: string
          description: Name of the backup.
        status:
          type: string
          description: Status of the backup.
          enum:
          - unknown
          - creating
          - ready
          - restoring
          - deleting
          - error
          - exporting
          - locked
          default: unknown
        size:
          type: integer
          description: Size of the database backup. (in bytes)
          format: uint64
          nullable: true
        expires_at:
          type: string
          description: Expiration date (must follow the ISO 8601 format). (RFC 3339 format)
          format: date-time
          example: '2022-03-22T12:34:56.123456Z'
          nullable: true
        created_at:
          type: string
          description: Creation date (must follow the ISO 8601 format). (RFC 3339 format)
          format: date-time
          example: '2022-03-22T12:34:56.123456Z'
          nullable: true
        updated_at:
          type: string
          description: Updated date (must follow the ISO 8601 format). (RFC 3339 format)
          format: date-time
          example: '2022-03-22T12:34:56.123456Z'
          nullable: true
        instance_name:
          type: string
          description: Name of the Database Instance of the backup.
        download_url:
          type: string
          description: URL you can download the backup from.
          nullable: true
        download_url_expires_at:
          type: string
          description: Expiration date of the download link. (RFC 3339 format)
          format: date-time
          example: '2022-03-22T12:34:56.123456Z'
          nullable: true
        region:
          type: string
          description: Region of the database backup.
        same_region:
          type: boolean
          description: Store logical backups in the same region as the source Database Instance.
      x-properties-order:
      - id
      - instance_id
      - database_name
      - name
      - status
      - size
      - expires_at
      - created_at
      - updated_at
      - instance_name
      - download_url
      - download_url_expires_at
      - region
      - same_region
    scaleway.rdb.v1.ListDatabaseBackupsResponse:
      type: object
      properties:
        database_backups:
          type: array
          description: List of database backups.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.DatabaseBackup'
        total_count:
          type: integer
          description: Total count of database backups available.
          format: uint32
      x-properties-order:
      - database_backups
      - total_count
  securitySchemes:
    scaleway:
      in: header
      name: X-Auth-Token
      type: apiKey