> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Scaleway

> Connect Scaleway to your Atako agents — 18 read and 4 write actions.

Let your agents watch and operate your Scaleway infrastructure — browse projects, Instances, volumes, snapshots, flexible IPs and security groups, Serverless Containers and Functions (variables removed), power Instances on or off and reboot them, add DNS records and read the monthly consumption.

## Connection

* **Authentication**: API key (API secret key).

<Note>
  Scaleway console → top-right drop-down menu → IAM & API keys. Best practice: create an IAM application and a policy granting only the permission sets you need — InstancesReadOnly (lets the connection check the key; lists and reads), InstancesServerStart and InstancesServerStop (power on / off) or InstancesFullAccess (also reboot), ProjectReadOnly (projects), DomainsDNSReadOnly or DomainsDNSFullAccess (read or add DNS records), ContainersReadOnly (Serverless Containers), FunctionsReadOnly (Serverless Functions), BillingReadOnly (consumption). Then open the API keys tab → + Generate API key, choose that application as the bearer, and click Generate API key. Paste the Secret Key (shown only once), not the Access Key.

  See [Scaleway's documentation](https://www.scaleway.com/en/docs/iam/how-to/create-api-keys/).
</Note>

## Read actions (18)

| Action | Description |
| - | - |
| `get_consumption` | Get the monthly consumption, per product (value as a money amount, product\_name, resource\_name, sku, category\_name, project\_id, project\_name, billed\_quantity, unit), with total\_discount\_untaxed\_value and updated\_at. Optional: billing\_period ("YYYY-MM"; current period when omitted), category\_name (string as shown on the invoice, e.g. "Compute", "Network"), order\_by (updated\_at\_desc, updated\_at\_asc, category\_name\_desc, category\_name\_asc), page (integer ≥ 1), page\_size (integer 1-100). Requires BillingReadOnly. |
| `get_container` | Get one Serverless Container (status, error\_message, image, command, args, port, scaling, probes, limits, public\_endpoint, privacy). Environment variables and secrets are removed. Required: container\_id (uuid, see list\_containers). Optional: region (fr-par, nl-ams, pl-waw, it-mil; default fr-par). |
| `get_function` | Get one Serverless Function (status, error\_message, build\_message, runtime, handler, scaling, limits, domain\_name, privacy, ready\_at). Environment variables and secrets are removed. Required: function\_id (uuid, see list\_functions). Optional: region (fr-par, nl-ams, pl-waw; default fr-par). |
| `get_project` | Get a Project (id, name, organization\_id, description, created\_at, updated\_at). Required: project\_id (uuid, from list\_projects or the "project" field of a server). |
| `get_server` | Get an Instance (state, state\_detail, commercial\_type, image, volumes, public\_ips, private\_nics, security\_group, allowed\_actions, maintenances). Required: server\_id (uuid, from list\_servers). Optional: zone (one of fr-par-1, fr-par-2, fr-par-3, nl-ams-1, nl-ams-2, nl-ams-3, pl-waw-1, pl-waw-2, pl-waw-3, it-mil-1; default fr-par-1) — must be the zone of the Instance. |
| `list_container_namespaces` | List Serverless Containers namespaces (id, name, status, error\_message, project\_id, tags, created\_at). Environment variables and secrets are removed. Optional: region (fr-par, nl-ams, pl-waw, it-mil; default fr-par), project\_id (uuid), organization\_id (uuid), name (string), order\_by (created\_at\_asc, created\_at\_desc, name\_asc, name\_desc), page (integer ≥ 1), page\_size (integer 1-100). Requires ContainersReadOnly. |
| `list_containers` | List Serverless Containers (id, name, namespace\_id, status, error\_message, image, port, protocol, privacy, min\_scale / max\_scale, CPU and memory limits, public\_endpoint, created\_at). Environment variables and secrets are removed. Optional: region (fr-par, nl-ams, pl-waw, it-mil; default fr-par), namespace\_id (uuid, see list\_container\_namespaces), project\_id (uuid), organization\_id (uuid), name (string), order\_by (created\_at\_asc, created\_at\_desc, name\_asc, name\_desc), page (integer ≥ 1), page\_size (integer 1-100). Requires ContainersReadOnly. |
| `list_dns_records` | List the records of a DNS zone (id, name, type, data, ttl, priority). Required: dns\_zone (string, the zone name from list\_dns\_zones: its domain when subdomain is empty, otherwise subdomain + "." + domain, e.g. "example.com" or "sub.example.com"); name (string; a record name to filter on, or "" for every record — the API requires the parameter). Optional: type (A, AAAA, ALIAS, CAA, CNAME, MX, NS, PTR, SRV, TXT, TLSA, LOC, SSHFP, HINFO, RP, URI, DS, NAPTR, DNAME, SVCB, HTTPS), id (record id), order\_by (name\_asc, name\_desc), page (integer ≥ 1), page\_size (integer 1-100). |
| `list_dns_zones` | List DNS zones (domain, subdomain, ns, status, project\_id, updated\_at). Required: domain (string; a domain such as "example.com" to list its zones, or "" for every zone — the API requires the parameter). Optional: project\_id (uuid), organization\_id (uuid), order\_by (domain\_asc, domain\_desc, subdomain\_asc, subdomain\_desc, created\_at\_asc, created\_at\_desc, updated\_at\_asc, updated\_at\_desc), page (integer ≥ 1), page\_size (integer 1-100). |
| `list_flexible_ips` | List the flexible IPs of a zone (id, address, reverse, server, type, state, project). Optional: zone (one of fr-par-1, fr-par-2, fr-par-3, nl-ams-1, nl-ams-2, nl-ams-3, pl-waw-1, pl-waw-2, pl-waw-3, it-mil-1; default fr-par-1), project (uuid), organization (uuid), name (string), tags (comma-separated exact tags), type (routed\_ipv4 or routed\_ipv6), per\_page (integer 1-100), page (integer ≥ 1). |
| `list_function_namespaces` | List Serverless Functions namespaces (id, name, status, error\_message, project\_id, registry\_endpoint, tags, created\_at). Environment variables and secrets are removed. Optional: region (fr-par, nl-ams, pl-waw; default fr-par), project\_id (uuid), organization\_id (uuid), name (string), order\_by (created\_at\_asc, created\_at\_desc, name\_asc, name\_desc), page (integer ≥ 1), page\_size (integer 1-100). Requires FunctionsReadOnly. |
| `list_functions` | List the Serverless Functions of a namespace (id, name, status, error\_message, runtime, handler, privacy, min\_scale / max\_scale, memory\_limit, timeout, domain\_name, created\_at). Environment variables and secrets are removed. Required: namespace\_id (uuid, see list\_function\_namespaces). Optional: region (fr-par, nl-ams, pl-waw; default fr-par), project\_id (uuid), organization\_id (uuid), name (string), order\_by (created\_at\_asc, created\_at\_desc, name\_asc, name\_desc), page (integer ≥ 1), page\_size (integer 1-100). Requires FunctionsReadOnly. |
| `list_projects` | List the Projects of an Organization (id, name, organization\_id, description, created\_at). Required: organization\_id (uuid; the "organization" field of any server or volume from list\_servers / list\_volumes). Optional: name (string), order\_by (created\_at\_asc, created\_at\_desc, name\_asc, name\_desc), page (integer ≥ 1), page\_size (integer 1-100). |
| `list_security_groups` | List the security groups of a zone (id, name, description, inbound\_default\_policy, outbound\_default\_policy, stateful, servers, project\_default). Optional: zone (one of fr-par-1, fr-par-2, fr-par-3, nl-ams-1, nl-ams-2, nl-ams-3, pl-waw-1, pl-waw-2, pl-waw-3, it-mil-1; default fr-par-1), name (string), project (uuid), organization (uuid), tags (comma-separated exact tags), project\_default (boolean), per\_page (integer 1-100), page (integer ≥ 1). |
| `list_server_actions` | List the actions an Instance currently allows (e.g. poweron, poweroff, reboot) — check before power\_on\_server / power\_off\_server / reboot\_server. Required: server\_id (uuid, from list\_servers). Optional: zone (one of fr-par-1, fr-par-2, fr-par-3, nl-ams-1, nl-ams-2, nl-ams-3, pl-waw-1, pl-waw-2, pl-waw-3, it-mil-1; default fr-par-1). |
| `list_servers` | List the Instances of a zone (id, name, state, commercial\_type, public\_ips, private\_ip, volumes, project, organization, tags). Optional: zone (one of fr-par-1, fr-par-2, fr-par-3, nl-ams-1, nl-ams-2, nl-ams-3, pl-waw-1, pl-waw-2, pl-waw-3, it-mil-1; default fr-par-1), project (uuid), organization (uuid), name (substring), state (running, stopped, stopped in place, starting, stopping, locked), commercial\_type (e.g. "DEV1-S"), tags (comma-separated exact tags), order (creation\_date\_desc, creation\_date\_asc, modification\_date\_desc, modification\_date\_asc), per\_page (integer 1-100), page (integer ≥ 1). |
| `list_snapshots` | List the Instance snapshots of a zone (id, name, size, volume\_type, state, base\_volume, creation\_date). Optional: zone (one of fr-par-1, fr-par-2, fr-par-3, nl-ams-1, nl-ams-2, nl-ams-3, pl-waw-1, pl-waw-2, pl-waw-3, it-mil-1; default fr-par-1), project (uuid), organization (uuid), name (substring), tags (comma-separated exact tags), base\_volume\_id (uuid, from list\_volumes), per\_page (integer 1-100), page (integer ≥ 1). |
| `list_volumes` | List the Instance volumes of a zone (id, name, size, volume\_type, state, server, project, organization). Optional: zone (one of fr-par-1, fr-par-2, fr-par-3, nl-ams-1, nl-ams-2, nl-ams-3, pl-waw-1, pl-waw-2, pl-waw-3, it-mil-1; default fr-par-1), volume\_type (l\_ssd, scratch, sbs\_volume, sbs\_snapshot), project (uuid), organization (uuid), name (substring), tags (comma-separated exact tags), per\_page (integer 1-100), page (integer ≥ 1). |

## Write actions (4)

| Action | Description |
| - | - |
| `add_dns_record` | Add one record to an existing DNS zone; answers the added record(s). Arguments: dns\_zone (string, path, the zone name from list\_dns\_zones: its domain when subdomain is empty, otherwise subdomain + "." + domain, e.g. "example.com"); name (string, relative to the zone, "" for the apex, e.g. "www"); type (string: A, AAAA, ALIAS, CAA, CNAME, MX, NS, PTR, SRV or TXT); data (string, the record value as Scaleway writes it: IPv4 for A, IPv6 for AAAA, target host for CNAME / ALIAS / NS / PTR, text for TXT, "10 mx.example.net." for MX, "20 443 sip.example.com." for SRV, "0 issue ca.example.com" for CAA — priorities and parameters go inside data); ttl (integer, seconds). Sent as \{"changes": \[\{"add": \{"records": \[\{name, type, data, ttl}]}}], "disallow\_new\_zone\_creation": true}: a name that does not belong to an existing zone is refused rather than creating a sub-zone. Requires DomainsDNSFullAccess. |
| `power_off_server` | Power off an Instance (fully stops it and releases its hypervisor slot); answers a task (id, status, progress). Arguments: server\_id (string uuid, path, from list\_servers); zone (string, path, optional: fr-par-1, fr-par-2, fr-par-3, nl-ams-1, nl-ams-2, nl-ams-3, pl-waw-1, pl-waw-2, pl-waw-3, it-mil-1; default fr-par-1, must be the zone of the Instance). Nothing else is sent: the body is fixed to \{"action": "poweroff"}. Requires InstancesServerStop or InstancesFullAccess. |
| `power_on_server` | Power on a stopped Instance; answers a task (id, status, progress). Arguments: server\_id (string uuid, path, from list\_servers); zone (string, path, optional: fr-par-1, fr-par-2, fr-par-3, nl-ams-1, nl-ams-2, nl-ams-3, pl-waw-1, pl-waw-2, pl-waw-3, it-mil-1; default fr-par-1, must be the zone of the Instance). Nothing else is sent: the body is fixed to \{"action": "poweron"}. Requires InstancesServerStart or InstancesFullAccess. |
| `reboot_server` | Reboot a running Instance; answers a task (id, status, progress). Arguments: server\_id (string uuid, path, from list\_servers); zone (string, path, optional: fr-par-1, fr-par-2, fr-par-3, nl-ams-1, nl-ams-2, nl-ams-3, pl-waw-1, pl-waw-2, pl-waw-3, it-mil-1; default fr-par-1, must be the zone of the Instance). Nothing else is sent: the body is fixed to \{"action": "reboot"}. Requires InstancesFullAccess. |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.

***

*Last reviewed against the provider API: September 2026.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.