Scaleway · Capability
Serverless Functions API — Functions
Serverless Functions API — Functions. 9 operations. Lead operation: List all your functions. Self-contained Naftiko capability covering one Scaleway business surface.
What You Can Do
GET
Listfunctions
— List all your functions
/v1/functions/v1beta1/regions/{region}/functions
POST
Createfunction
— Create a new function
/v1/functions/v1beta1/regions/{region}/functions
GET
Getfunction
— Get a function
/v1/functions/v1beta1/regions/{region}/functions/{function-id}
PATCH
Updatefunction
— Update an existing function
/v1/functions/v1beta1/regions/{region}/functions/{function-id}
DELETE
Deletefunction
— Delete a function
/v1/functions/v1beta1/regions/{region}/functions/{function-id}
POST
Deployfunction
— Deploy a function
/v1/functions/v1beta1/regions/{region}/functions/{function-id}/deploy
GET
Getfunctiondownloadurl
— Get a download URL of a function
/v1/functions/v1beta1/regions/{region}/functions/{function-id}/download-url
GET
Getfunctionuploadurl
— Get an upload URL of a function
/v1/functions/v1beta1/regions/{region}/functions/{function-id}/upload-url
GET
Listfunctionruntimes
— List function runtimes
/v1/functions/v1beta1/regions/{region}/runtimes
MCP Tools
list-all-your-functions
List all your functions
read-only
idempotent
create-new-function
Create a new function
get-function
Get a function
read-only
idempotent
update-existing-function
Update an existing function
idempotent
delete-function
Delete a function
idempotent
deploy-function
Deploy a function
get-download-url-function
Get a download URL of a function
read-only
idempotent
get-upload-url-function
Get an upload URL of a function
read-only
idempotent
list-function-runtimes
List function runtimes
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Serverless Functions API — Functions
description: 'Serverless Functions API — Functions. 9 operations. Lead operation: List all your functions. Self-contained
Naftiko capability covering one Scaleway business surface.'
tags:
- Scaleway
- Functions
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SCALEWAY_API_KEY: SCALEWAY_API_KEY
capability:
consumes:
- type: http
namespace: serverless-functions-functions
baseUri: https://api.scaleway.com
description: Serverless Functions API — Functions business capability. Self-contained, no shared references.
resources:
- name: functions-v1beta1-regions-region-functions
path: /functions/v1beta1/regions/{region}/functions
operations:
- name: listfunctions
method: GET
description: List all your functions
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: page
in: query
type: integer
description: Page number.
- name: page_size
in: query
type: integer
description: Number of functions per page.
- name: order_by
in: query
type: string
description: Order of the functions.
- name: namespace_id
in: query
type: string
description: UUID of the namespace the function belongs to.
required: true
- name: name
in: query
type: string
description: Name of the function.
- name: organization_id
in: query
type: string
description: UUID of the Organization the function belongs to.
- name: project_id
in: query
type: string
description: UUID of the Project the function belongs to.
- name: createfunction
method: POST
description: Create a new function
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: body
in: body
type: object
description: Request body (JSON).
required: true
- name: functions-v1beta1-regions-region-functions-function_id
path: /functions/v1beta1/regions/{region}/functions/{function_id}
operations:
- name: getfunction
method: GET
description: Get a function
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: function_id
in: path
type: string
description: UUID of the function.
required: true
- name: updatefunction
method: PATCH
description: Update an existing function
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: function_id
in: path
type: string
description: UUID of the function to update.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: deletefunction
method: DELETE
description: Delete a function
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: function_id
in: path
type: string
description: UUID of the function to delete.
required: true
- name: functions-v1beta1-regions-region-functions-function_id-deploy
path: /functions/v1beta1/regions/{region}/functions/{function_id}/deploy
operations:
- name: deployfunction
method: POST
description: Deploy a function
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: function_id
in: path
type: string
description: UUID of the function to deploy.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: functions-v1beta1-regions-region-functions-function_id-download-url
path: /functions/v1beta1/regions/{region}/functions/{function_id}/download-url
operations:
- name: getfunctiondownloadurl
method: GET
description: Get a download URL of a function
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: function_id
in: path
type: string
description: UUID of the function to get the download URL for.
required: true
- name: functions-v1beta1-regions-region-functions-function_id-upload-url
path: /functions/v1beta1/regions/{region}/functions/{function_id}/upload-url
operations:
- name: getfunctionuploadurl
method: GET
description: Get an upload URL of a function
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: function_id
in: path
type: string
description: UUID of the function to get the upload URL for.
required: true
- name: content_length
in: query
type: integer
description: Size of the archive to upload in bytes.
required: true
- name: functions-v1beta1-regions-region-runtimes
path: /functions/v1beta1/regions/{region}/runtimes
operations:
- name: listfunctionruntimes
method: GET
description: List function runtimes
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
authentication:
type: apikey
key: X-Auth-Token
value: '{{env.SCALEWAY_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: serverless-functions-functions-rest
port: 8080
description: REST adapter for Serverless Functions API — Functions. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/functions/v1beta1/regions/{region}/functions
name: functions-v1beta1-regions-region-functions
description: REST surface for functions-v1beta1-regions-region-functions.
operations:
- method: GET
name: listfunctions
description: List all your functions
call: serverless-functions-functions.listfunctions
with:
region: rest.region
page: rest.page
page_size: rest.page_size
order_by: rest.order_by
namespace_id: rest.namespace_id
name: rest.name
organization_id: rest.organization_id
project_id: rest.project_id
outputParameters:
- type: object
mapping: $.
- method: POST
name: createfunction
description: Create a new function
call: serverless-functions-functions.createfunction
with:
region: rest.region
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/functions/v1beta1/regions/{region}/functions/{function-id}
name: functions-v1beta1-regions-region-functions-function-id
description: REST surface for functions-v1beta1-regions-region-functions-function_id.
operations:
- method: GET
name: getfunction
description: Get a function
call: serverless-functions-functions.getfunction
with:
region: rest.region
function_id: rest.function_id
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: updatefunction
description: Update an existing function
call: serverless-functions-functions.updatefunction
with:
region: rest.region
function_id: rest.function_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletefunction
description: Delete a function
call: serverless-functions-functions.deletefunction
with:
region: rest.region
function_id: rest.function_id
outputParameters:
- type: object
mapping: $.
- path: /v1/functions/v1beta1/regions/{region}/functions/{function-id}/deploy
name: functions-v1beta1-regions-region-functions-function-id-deploy
description: REST surface for functions-v1beta1-regions-region-functions-function_id-deploy.
operations:
- method: POST
name: deployfunction
description: Deploy a function
call: serverless-functions-functions.deployfunction
with:
region: rest.region
function_id: rest.function_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/functions/v1beta1/regions/{region}/functions/{function-id}/download-url
name: functions-v1beta1-regions-region-functions-function-id-download-url
description: REST surface for functions-v1beta1-regions-region-functions-function_id-download-url.
operations:
- method: GET
name: getfunctiondownloadurl
description: Get a download URL of a function
call: serverless-functions-functions.getfunctiondownloadurl
with:
region: rest.region
function_id: rest.function_id
outputParameters:
- type: object
mapping: $.
- path: /v1/functions/v1beta1/regions/{region}/functions/{function-id}/upload-url
name: functions-v1beta1-regions-region-functions-function-id-upload-url
description: REST surface for functions-v1beta1-regions-region-functions-function_id-upload-url.
operations:
- method: GET
name: getfunctionuploadurl
description: Get an upload URL of a function
call: serverless-functions-functions.getfunctionuploadurl
with:
region: rest.region
function_id: rest.function_id
content_length: rest.content_length
outputParameters:
- type: object
mapping: $.
- path: /v1/functions/v1beta1/regions/{region}/runtimes
name: functions-v1beta1-regions-region-runtimes
description: REST surface for functions-v1beta1-regions-region-runtimes.
operations:
- method: GET
name: listfunctionruntimes
description: List function runtimes
call: serverless-functions-functions.listfunctionruntimes
with:
region: rest.region
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: serverless-functions-functions-mcp
port: 9090
transport: http
description: MCP adapter for Serverless Functions API — Functions. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: list-all-your-functions
description: List all your functions
hints:
readOnly: true
destructive: false
idempotent: true
call: serverless-functions-functions.listfunctions
with:
region: tools.region
page: tools.page
page_size: tools.page_size
order_by: tools.order_by
namespace_id: tools.namespace_id
name: tools.name
organization_id: tools.organization_id
project_id: tools.project_id
outputParameters:
- type: object
mapping: $.
- name: create-new-function
description: Create a new function
hints:
readOnly: false
destructive: false
idempotent: false
call: serverless-functions-functions.createfunction
with:
region: tools.region
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-function
description: Get a function
hints:
readOnly: true
destructive: false
idempotent: true
call: serverless-functions-functions.getfunction
with:
region: tools.region
function_id: tools.function_id
outputParameters:
- type: object
mapping: $.
- name: update-existing-function
description: Update an existing function
hints:
readOnly: false
destructive: false
idempotent: true
call: serverless-functions-functions.updatefunction
with:
region: tools.region
function_id: tools.function_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-function
description: Delete a function
hints:
readOnly: false
destructive: true
idempotent: true
call: serverless-functions-functions.deletefunction
with:
region: tools.region
function_id: tools.function_id
outputParameters:
- type: object
mapping: $.
- name: deploy-function
description: Deploy a function
hints:
readOnly: false
destructive: false
idempotent: false
call: serverless-functions-functions.deployfunction
with:
region: tools.region
function_id: tools.function_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-download-url-function
description: Get a download URL of a function
hints:
readOnly: true
destructive: false
idempotent: true
call: serverless-functions-functions.getfunctiondownloadurl
with:
region: tools.region
function_id: tools.function_id
outputParameters:
- type: object
mapping: $.
- name: get-upload-url-function
description: Get an upload URL of a function
hints:
readOnly: true
destructive: false
idempotent: true
call: serverless-functions-functions.getfunctionuploadurl
with:
region: tools.region
function_id: tools.function_id
content_length: tools.content_length
outputParameters:
- type: object
mapping: $.
- name: list-function-runtimes
description: List function runtimes
hints:
readOnly: true
destructive: false
idempotent: true
call: serverless-functions-functions.listfunctionruntimes
with:
region: tools.region
outputParameters:
- type: object
mapping: $.