Scaleway · Capability

Secret Manager API — Secret Versions

Secret Manager API — Secret Versions. 9 operations. Lead operation: Access a secret's version using the secret's name and path. Self-contained Naftiko capability covering one Scaleway business surface.

Run with Naftiko ScalewaySecret Versions

What You Can Do

GET
Accesssecretversionbypath — Access a secret's version using the secret's name and path
/v1/secret-manager/v1beta1/regions/{region}/secrets-by-path/versions/{revision}/access
GET
Listsecretversions — List versions of a secret using the secret's ID
/v1/secret-manager/v1beta1/regions/{region}/secrets/{secret-id}/versions
POST
Createsecretversion — Create a version
/v1/secret-manager/v1beta1/regions/{region}/secrets/{secret-id}/versions
GET
Getsecretversion — Get metadata of a secret's version using the secret's ID
/v1/secret-manager/v1beta1/regions/{region}/secrets/{secret-id}/versions/{revision}
PATCH
Updatesecretversion — Update metadata of a version
/v1/secret-manager/v1beta1/regions/{region}/secrets/{secret-id}/versions/{revision}
DELETE
Deletesecretversion — Delete a version
/v1/secret-manager/v1beta1/regions/{region}/secrets/{secret-id}/versions/{revision}
GET
Accesssecretversion — Access a secret's version using the secret's ID
/v1/secret-manager/v1beta1/regions/{region}/secrets/{secret-id}/versions/{revision}/access
POST
Disablesecretversion — Disable a version
/v1/secret-manager/v1beta1/regions/{region}/secrets/{secret-id}/versions/{revision}/disable
POST
Enablesecretversion — Enable a version
/v1/secret-manager/v1beta1/regions/{region}/secrets/{secret-id}/versions/{revision}/enable

MCP Tools

access-secret-s-version-using-secret-s

Access a secret's version using the secret's name and path

read-only idempotent
list-versions-secret-using-secret-s

List versions of a secret using the secret's ID

read-only idempotent
create-version

Create a version

get-metadata-secret-s-version-using

Get metadata of a secret's version using the secret's ID

read-only idempotent
update-metadata-version

Update metadata of a version

idempotent
delete-version

Delete a version

idempotent
access-secret-s-version-using-secret-s-2

Access a secret's version using the secret's ID

read-only idempotent
disable-version

Disable a version

enable-version

Enable a version

Capability Spec

secret-manager-secret-versions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Secret Manager API — Secret Versions
  description: 'Secret Manager API — Secret Versions. 9 operations. Lead operation: Access a secret''s version using the secret''s
    name and path. Self-contained Naftiko capability covering one Scaleway business surface.'
  tags:
  - Scaleway
  - Secret Versions
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SCALEWAY_API_KEY: SCALEWAY_API_KEY
capability:
  consumes:
  - type: http
    namespace: secret-manager-secret-versions
    baseUri: https://api.scaleway.com
    description: Secret Manager API — Secret Versions business capability. Self-contained, no shared references.
    resources:
    - name: secret-manager-v1beta1-regions-region-secrets-by-path-versions-revision-access
      path: /secret-manager/v1beta1/regions/{region}/secrets-by-path/versions/{revision}/access
      operations:
      - name: accesssecretversionbypath
        method: GET
        description: Access a secret's version using the secret's name and path
        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: revision
          in: path
          type: string
          description: Version number.
          required: true
        - name: secret_path
          in: query
          type: string
          description: Secret's path.
          required: true
        - name: secret_name
          in: query
          type: string
          description: Secret's name.
          required: true
        - name: project_id
          in: query
          type: string
          description: ID of the Project to target. (UUID format)
          required: true
    - name: secret-manager-v1beta1-regions-region-secrets-secret_id-versions
      path: /secret-manager/v1beta1/regions/{region}/secrets/{secret_id}/versions
      operations:
      - name: listsecretversions
        method: GET
        description: List versions of a secret using the secret's ID
        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: secret_id
          in: path
          type: string
          description: ID of the secret. (UUID format)
          required: true
        - name: page
          in: query
          type: string
        - name: page_size
          in: query
          type: integer
        - name: status
          in: query
          type: array
          description: Filter results by status.
      - name: createsecretversion
        method: POST
        description: Create a version
        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: secret_id
          in: path
          type: string
          description: ID of the secret. (UUID format)
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: secret-manager-v1beta1-regions-region-secrets-secret_id-versions-revision
      path: /secret-manager/v1beta1/regions/{region}/secrets/{secret_id}/versions/{revision}
      operations:
      - name: getsecretversion
        method: GET
        description: Get metadata of a secret's version using the secret's ID
        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: secret_id
          in: path
          type: string
          description: ID of the secret. (UUID format)
          required: true
        - name: revision
          in: path
          type: string
          description: Version number.
          required: true
      - name: updatesecretversion
        method: PATCH
        description: Update metadata of a version
        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: secret_id
          in: path
          type: string
          description: ID of the secret. (UUID format)
          required: true
        - name: revision
          in: path
          type: string
          description: Version number.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletesecretversion
        method: DELETE
        description: Delete a version
        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: secret_id
          in: path
          type: string
          description: ID of the secret. (UUID format)
          required: true
        - name: revision
          in: path
          type: string
          description: Version number.
          required: true
    - name: secret-manager-v1beta1-regions-region-secrets-secret_id-versions-revision-access
      path: /secret-manager/v1beta1/regions/{region}/secrets/{secret_id}/versions/{revision}/access
      operations:
      - name: accesssecretversion
        method: GET
        description: Access a secret's version using the secret's ID
        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: secret_id
          in: path
          type: string
          description: ID of the secret. (UUID format)
          required: true
        - name: revision
          in: path
          type: string
          description: Version number.
          required: true
    - name: secret-manager-v1beta1-regions-region-secrets-secret_id-versions-revision-disabl
      path: /secret-manager/v1beta1/regions/{region}/secrets/{secret_id}/versions/{revision}/disable
      operations:
      - name: disablesecretversion
        method: POST
        description: Disable a version
        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: secret_id
          in: path
          type: string
          description: ID of the secret. (UUID format)
          required: true
        - name: revision
          in: path
          type: string
          description: Version number.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: secret-manager-v1beta1-regions-region-secrets-secret_id-versions-revision-enable
      path: /secret-manager/v1beta1/regions/{region}/secrets/{secret_id}/versions/{revision}/enable
      operations:
      - name: enablesecretversion
        method: POST
        description: Enable a version
        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: secret_id
          in: path
          type: string
          description: ID of the secret. (UUID format)
          required: true
        - name: revision
          in: path
          type: string
          description: Version number.
          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: secret-manager-secret-versions-rest
    port: 8080
    description: REST adapter for Secret Manager API — Secret Versions. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/secret-manager/v1beta1/regions/{region}/secrets-by-path/versions/{revision}/access
      name: secret-manager-v1beta1-regions-region-secrets-by-path-versions-revision-access
      description: REST surface for secret-manager-v1beta1-regions-region-secrets-by-path-versions-revision-access.
      operations:
      - method: GET
        name: accesssecretversionbypath
        description: Access a secret's version using the secret's name and path
        call: secret-manager-secret-versions.accesssecretversionbypath
        with:
          region: rest.region
          revision: rest.revision
          secret_path: rest.secret_path
          secret_name: rest.secret_name
          project_id: rest.project_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/secret-manager/v1beta1/regions/{region}/secrets/{secret-id}/versions
      name: secret-manager-v1beta1-regions-region-secrets-secret-id-versions
      description: REST surface for secret-manager-v1beta1-regions-region-secrets-secret_id-versions.
      operations:
      - method: GET
        name: listsecretversions
        description: List versions of a secret using the secret's ID
        call: secret-manager-secret-versions.listsecretversions
        with:
          region: rest.region
          secret_id: rest.secret_id
          page: rest.page
          page_size: rest.page_size
          status: rest.status
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createsecretversion
        description: Create a version
        call: secret-manager-secret-versions.createsecretversion
        with:
          region: rest.region
          secret_id: rest.secret_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/secret-manager/v1beta1/regions/{region}/secrets/{secret-id}/versions/{revision}
      name: secret-manager-v1beta1-regions-region-secrets-secret-id-versions-revision
      description: REST surface for secret-manager-v1beta1-regions-region-secrets-secret_id-versions-revision.
      operations:
      - method: GET
        name: getsecretversion
        description: Get metadata of a secret's version using the secret's ID
        call: secret-manager-secret-versions.getsecretversion
        with:
          region: rest.region
          secret_id: rest.secret_id
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatesecretversion
        description: Update metadata of a version
        call: secret-manager-secret-versions.updatesecretversion
        with:
          region: rest.region
          secret_id: rest.secret_id
          revision: rest.revision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletesecretversion
        description: Delete a version
        call: secret-manager-secret-versions.deletesecretversion
        with:
          region: rest.region
          secret_id: rest.secret_id
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/secret-manager/v1beta1/regions/{region}/secrets/{secret-id}/versions/{revision}/access
      name: secret-manager-v1beta1-regions-region-secrets-secret-id-versions-revision-access
      description: REST surface for secret-manager-v1beta1-regions-region-secrets-secret_id-versions-revision-access.
      operations:
      - method: GET
        name: accesssecretversion
        description: Access a secret's version using the secret's ID
        call: secret-manager-secret-versions.accesssecretversion
        with:
          region: rest.region
          secret_id: rest.secret_id
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/secret-manager/v1beta1/regions/{region}/secrets/{secret-id}/versions/{revision}/disable
      name: secret-manager-v1beta1-regions-region-secrets-secret-id-versions-revision-disabl
      description: REST surface for secret-manager-v1beta1-regions-region-secrets-secret_id-versions-revision-disabl.
      operations:
      - method: POST
        name: disablesecretversion
        description: Disable a version
        call: secret-manager-secret-versions.disablesecretversion
        with:
          region: rest.region
          secret_id: rest.secret_id
          revision: rest.revision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/secret-manager/v1beta1/regions/{region}/secrets/{secret-id}/versions/{revision}/enable
      name: secret-manager-v1beta1-regions-region-secrets-secret-id-versions-revision-enable
      description: REST surface for secret-manager-v1beta1-regions-region-secrets-secret_id-versions-revision-enable.
      operations:
      - method: POST
        name: enablesecretversion
        description: Enable a version
        call: secret-manager-secret-versions.enablesecretversion
        with:
          region: rest.region
          secret_id: rest.secret_id
          revision: rest.revision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: secret-manager-secret-versions-mcp
    port: 9090
    transport: http
    description: MCP adapter for Secret Manager API — Secret Versions. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: access-secret-s-version-using-secret-s
      description: Access a secret's version using the secret's name and path
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: secret-manager-secret-versions.accesssecretversionbypath
      with:
        region: tools.region
        revision: tools.revision
        secret_path: tools.secret_path
        secret_name: tools.secret_name
        project_id: tools.project_id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-versions-secret-using-secret-s
      description: List versions of a secret using the secret's ID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: secret-manager-secret-versions.listsecretversions
      with:
        region: tools.region
        secret_id: tools.secret_id
        page: tools.page
        page_size: tools.page_size
        status: tools.status
      outputParameters:
      - type: object
        mapping: $.
    - name: create-version
      description: Create a version
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: secret-manager-secret-versions.createsecretversion
      with:
        region: tools.region
        secret_id: tools.secret_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-metadata-secret-s-version-using
      description: Get metadata of a secret's version using the secret's ID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: secret-manager-secret-versions.getsecretversion
      with:
        region: tools.region
        secret_id: tools.secret_id
        revision: tools.revision
      outputParameters:
      - type: object
        mapping: $.
    - name: update-metadata-version
      description: Update metadata of a version
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: secret-manager-secret-versions.updatesecretversion
      with:
        region: tools.region
        secret_id: tools.secret_id
        revision: tools.revision
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-version
      description: Delete a version
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: secret-manager-secret-versions.deletesecretversion
      with:
        region: tools.region
        secret_id: tools.secret_id
        revision: tools.revision
      outputParameters:
      - type: object
        mapping: $.
    - name: access-secret-s-version-using-secret-s-2
      description: Access a secret's version using the secret's ID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: secret-manager-secret-versions.accesssecretversion
      with:
        region: tools.region
        secret_id: tools.secret_id
        revision: tools.revision
      outputParameters:
      - type: object
        mapping: $.
    - name: disable-version
      description: Disable a version
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: secret-manager-secret-versions.disablesecretversion
      with:
        region: tools.region
        secret_id: tools.secret_id
        revision: tools.revision
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: enable-version
      description: Enable a version
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: secret-manager-secret-versions.enablesecretversion
      with:
        region: tools.region
        secret_id: tools.secret_id
        revision: tools.revision
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.