Scaleway · Capability
IAM API — SSH Keys
IAM API — SSH Keys. 5 operations. Lead operation: List SSH keys. Self-contained Naftiko capability covering one Scaleway business surface.
What You Can Do
GET
Listsshkeys
— List SSH keys
/v1/iam/v1alpha1/ssh-keys
POST
Createsshkey
— Create an SSH key
/v1/iam/v1alpha1/ssh-keys
GET
Getsshkey
— Get an SSH key
/v1/iam/v1alpha1/ssh-keys/{ssh-key-id}
PATCH
Updatesshkey
— Update an SSH key
/v1/iam/v1alpha1/ssh-keys/{ssh-key-id}
DELETE
Deletesshkey
— Delete an SSH key
/v1/iam/v1alpha1/ssh-keys/{ssh-key-id}
MCP Tools
list-ssh-keys
List SSH keys
read-only
idempotent
create-ssh-key
Create an SSH key
get-ssh-key
Get an SSH key
read-only
idempotent
update-ssh-key
Update an SSH key
idempotent
delete-ssh-key
Delete an SSH key
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: IAM API — SSH Keys
description: 'IAM API — SSH Keys. 5 operations. Lead operation: List SSH keys. Self-contained Naftiko capability covering
one Scaleway business surface.'
tags:
- Scaleway
- SSH Keys
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SCALEWAY_API_KEY: SCALEWAY_API_KEY
capability:
consumes:
- type: http
namespace: iam-ssh-keys
baseUri: https://api.scaleway.com
description: IAM API — SSH Keys business capability. Self-contained, no shared references.
resources:
- name: iam-v1alpha1-ssh-keys
path: /iam/v1alpha1/ssh-keys
operations:
- name: listsshkeys
method: GET
description: List SSH keys
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: order_by
in: query
type: string
description: Sort order of the SSH keys.
- name: page
in: query
type: integer
description: Requested page number. Value must be greater or equal to 1.
- name: page_size
in: query
type: integer
description: Number of items per page. Value must be between 1 and 100.
- name: organization_id
in: query
type: string
description: Filter by Organization ID.
- name: name
in: query
type: string
description: Name of group to find.
- name: project_id
in: query
type: string
description: Filter by Project ID.
- name: disabled
in: query
type: boolean
description: Defines whether to include disabled SSH keys or not.
- name: createsshkey
method: POST
description: Create an SSH key
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: iam-v1alpha1-ssh-keys-ssh_key_id
path: /iam/v1alpha1/ssh-keys/{ssh_key_id}
operations:
- name: getsshkey
method: GET
description: Get an SSH key
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: ssh_key_id
in: path
type: string
description: ID of the SSH key.
required: true
- name: updatesshkey
method: PATCH
description: Update an SSH key
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: ssh_key_id
in: path
type: string
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: deletesshkey
method: DELETE
description: Delete an SSH key
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: ssh_key_id
in: path
type: string
required: true
authentication:
type: apikey
key: X-Auth-Token
value: '{{env.SCALEWAY_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: iam-ssh-keys-rest
port: 8080
description: REST adapter for IAM API — SSH Keys. One Spectral-compliant resource per consumed operation, prefixed with
/v1.
resources:
- path: /v1/iam/v1alpha1/ssh-keys
name: iam-v1alpha1-ssh-keys
description: REST surface for iam-v1alpha1-ssh-keys.
operations:
- method: GET
name: listsshkeys
description: List SSH keys
call: iam-ssh-keys.listsshkeys
with:
order_by: rest.order_by
page: rest.page
page_size: rest.page_size
organization_id: rest.organization_id
name: rest.name
project_id: rest.project_id
disabled: rest.disabled
outputParameters:
- type: object
mapping: $.
- method: POST
name: createsshkey
description: Create an SSH key
call: iam-ssh-keys.createsshkey
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/iam/v1alpha1/ssh-keys/{ssh-key-id}
name: iam-v1alpha1-ssh-keys-ssh-key-id
description: REST surface for iam-v1alpha1-ssh-keys-ssh_key_id.
operations:
- method: GET
name: getsshkey
description: Get an SSH key
call: iam-ssh-keys.getsshkey
with:
ssh_key_id: rest.ssh_key_id
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: updatesshkey
description: Update an SSH key
call: iam-ssh-keys.updatesshkey
with:
ssh_key_id: rest.ssh_key_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletesshkey
description: Delete an SSH key
call: iam-ssh-keys.deletesshkey
with:
ssh_key_id: rest.ssh_key_id
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: iam-ssh-keys-mcp
port: 9090
transport: http
description: MCP adapter for IAM API — SSH Keys. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: list-ssh-keys
description: List SSH keys
hints:
readOnly: true
destructive: false
idempotent: true
call: iam-ssh-keys.listsshkeys
with:
order_by: tools.order_by
page: tools.page
page_size: tools.page_size
organization_id: tools.organization_id
name: tools.name
project_id: tools.project_id
disabled: tools.disabled
outputParameters:
- type: object
mapping: $.
- name: create-ssh-key
description: Create an SSH key
hints:
readOnly: false
destructive: false
idempotent: false
call: iam-ssh-keys.createsshkey
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-ssh-key
description: Get an SSH key
hints:
readOnly: true
destructive: false
idempotent: true
call: iam-ssh-keys.getsshkey
with:
ssh_key_id: tools.ssh_key_id
outputParameters:
- type: object
mapping: $.
- name: update-ssh-key
description: Update an SSH key
hints:
readOnly: false
destructive: false
idempotent: true
call: iam-ssh-keys.updatesshkey
with:
ssh_key_id: tools.ssh_key_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-ssh-key
description: Delete an SSH key
hints:
readOnly: false
destructive: true
idempotent: true
call: iam-ssh-keys.deletesshkey
with:
ssh_key_id: tools.ssh_key_id
outputParameters:
- type: object
mapping: $.