naftiko: 1.0.0-alpha2 info: label: Managed Database for PostgreSQL and MySQL API — Snapshots description: 'Managed Database for PostgreSQL and MySQL API — Snapshots. 6 operations. Lead operation: Create a Database Instance snapshot. Self-contained Naftiko capability covering one Scaleway business surface.' tags: - Scaleway - Snapshots created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SCALEWAY_API_KEY: SCALEWAY_API_KEY capability: consumes: - type: http namespace: database-snapshots baseUri: https://api.scaleway.com description: Managed Database for PostgreSQL and MySQL API — Snapshots business capability. Self-contained, no shared references. resources: - name: rdb-v1-regions-region-instances-instance_id-snapshots path: /rdb/v1/regions/{region}/instances/{instance_id}/snapshots operations: - name: createsnapshot method: POST description: Create a Database Instance snapshot outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: region in: path type: string description: The region you want to target required: true - name: instance_id in: path type: string description: UUID of the Database Instance. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: rdb-v1-regions-region-snapshots path: /rdb/v1/regions/{region}/snapshots operations: - name: listsnapshots method: GET description: List snapshots outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: region in: path type: string description: The region you want to target required: true - name: name in: query type: string description: Name of the snapshot. - name: order_by in: query type: string description: Criteria to use when ordering snapshot listing. - name: instance_id in: query type: string description: UUID of the Database Instance. - name: organization_id in: query type: string description: Organization ID the snapshots belongs to. - name: project_id in: query type: string description: Project ID the snapshots belongs to. - name: page in: query type: string - name: page_size in: query type: integer - name: rdb-v1-regions-region-snapshots-snapshot_id path: /rdb/v1/regions/{region}/snapshots/{snapshot_id} operations: - name: getsnapshot method: GET description: Get a Database Instance snapshot outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: region in: path type: string description: The region you want to target required: true - name: snapshot_id in: path type: string description: UUID of the snapshot. required: true - name: updatesnapshot method: PATCH description: Update a Database Instance snapshot outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: region in: path type: string description: The region you want to target required: true - name: snapshot_id in: path type: string description: UUID of the snapshot to update. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletesnapshot method: DELETE description: Delete a Database Instance snapshot outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: region in: path type: string description: The region you want to target required: true - name: snapshot_id in: path type: string description: UUID of the snapshot to delete. required: true - name: rdb-v1-regions-region-snapshots-snapshot_id-create-instance path: /rdb/v1/regions/{region}/snapshots/{snapshot_id}/create-instance operations: - name: createinstancefromsnapshot method: POST description: Create a new Database Instance from a snapshot outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: region in: path type: string description: The region you want to target required: true - name: snapshot_id in: path type: string description: Block snapshot of the Database Instance. required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: apikey key: X-Auth-Token value: '{{env.SCALEWAY_API_KEY}}' placement: header exposes: - type: rest namespace: database-snapshots-rest port: 8080 description: REST adapter for Managed Database for PostgreSQL and MySQL API — Snapshots. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/rdb/v1/regions/{region}/instances/{instance-id}/snapshots name: rdb-v1-regions-region-instances-instance-id-snapshots description: REST surface for rdb-v1-regions-region-instances-instance_id-snapshots. operations: - method: POST name: createsnapshot description: Create a Database Instance snapshot call: database-snapshots.createsnapshot with: region: rest.region instance_id: rest.instance_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/rdb/v1/regions/{region}/snapshots name: rdb-v1-regions-region-snapshots description: REST surface for rdb-v1-regions-region-snapshots. operations: - method: GET name: listsnapshots description: List snapshots call: database-snapshots.listsnapshots with: region: rest.region name: rest.name order_by: rest.order_by instance_id: rest.instance_id organization_id: rest.organization_id project_id: rest.project_id page: rest.page page_size: rest.page_size outputParameters: - type: object mapping: $. - path: /v1/rdb/v1/regions/{region}/snapshots/{snapshot-id} name: rdb-v1-regions-region-snapshots-snapshot-id description: REST surface for rdb-v1-regions-region-snapshots-snapshot_id. operations: - method: GET name: getsnapshot description: Get a Database Instance snapshot call: database-snapshots.getsnapshot with: region: rest.region snapshot_id: rest.snapshot_id outputParameters: - type: object mapping: $. - method: PATCH name: updatesnapshot description: Update a Database Instance snapshot call: database-snapshots.updatesnapshot with: region: rest.region snapshot_id: rest.snapshot_id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletesnapshot description: Delete a Database Instance snapshot call: database-snapshots.deletesnapshot with: region: rest.region snapshot_id: rest.snapshot_id outputParameters: - type: object mapping: $. - path: /v1/rdb/v1/regions/{region}/snapshots/{snapshot-id}/create-instance name: rdb-v1-regions-region-snapshots-snapshot-id-create-instance description: REST surface for rdb-v1-regions-region-snapshots-snapshot_id-create-instance. operations: - method: POST name: createinstancefromsnapshot description: Create a new Database Instance from a snapshot call: database-snapshots.createinstancefromsnapshot with: region: rest.region snapshot_id: rest.snapshot_id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: database-snapshots-mcp port: 9090 transport: http description: MCP adapter for Managed Database for PostgreSQL and MySQL API — Snapshots. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-database-instance-snapshot description: Create a Database Instance snapshot hints: readOnly: false destructive: false idempotent: false call: database-snapshots.createsnapshot with: region: tools.region instance_id: tools.instance_id body: tools.body outputParameters: - type: object mapping: $. - name: list-snapshots description: List snapshots hints: readOnly: true destructive: false idempotent: true call: database-snapshots.listsnapshots with: region: tools.region name: tools.name order_by: tools.order_by instance_id: tools.instance_id organization_id: tools.organization_id project_id: tools.project_id page: tools.page page_size: tools.page_size outputParameters: - type: object mapping: $. - name: get-database-instance-snapshot description: Get a Database Instance snapshot hints: readOnly: true destructive: false idempotent: true call: database-snapshots.getsnapshot with: region: tools.region snapshot_id: tools.snapshot_id outputParameters: - type: object mapping: $. - name: update-database-instance-snapshot description: Update a Database Instance snapshot hints: readOnly: false destructive: false idempotent: true call: database-snapshots.updatesnapshot with: region: tools.region snapshot_id: tools.snapshot_id body: tools.body outputParameters: - type: object mapping: $. - name: delete-database-instance-snapshot description: Delete a Database Instance snapshot hints: readOnly: false destructive: true idempotent: true call: database-snapshots.deletesnapshot with: region: tools.region snapshot_id: tools.snapshot_id outputParameters: - type: object mapping: $. - name: create-new-database-instance-snapshot description: Create a new Database Instance from a snapshot hints: readOnly: false destructive: false idempotent: false call: database-snapshots.createinstancefromsnapshot with: region: tools.region snapshot_id: tools.snapshot_id body: tools.body outputParameters: - type: object mapping: $.