> For the complete documentation index, see [llms.txt](https://docs.ionos.com/cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ionos.com/cloud/api-reference/databases/v2-1/clusters/retrieve-all-clusters.md).

# Retrieve all Clusters

This endpoint enables retrieving all Clusters using pagination and optional filters.

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD DBaaS MariaDB","version":"2.0.0"},"tags":[{"name":"Clusters","description":"Create, manage, and monitor MariaDB clusters through the IONOS CLOUD API.\nThis tag groups all operations for clusters.\n"}],"servers":[{"url":"https://mariadb.de-txl.ionos.com/v2","description":"Germany, Berlin"},{"url":"https://mariadb.de-fra.ionos.com/v2","description":"Germany, Frankfurt (de-fra)"},{"url":"https://mariadb.fr-par.ionos.com/v2","description":"France, Paris"},{"url":"https://mariadb.es-vit.ionos.com/v2","description":"Spain, Logroño"},{"url":"https://mariadb.gb-lhr.ionos.com/v2","description":"United Kingdom, London"},{"url":"https://mariadb.gb-bhx.ionos.com/v2","description":"United Kingdom, Worcester"},{"url":"https://mariadb.us-las.ionos.com/v2","description":"United States, Las Vegas"},{"url":"https://mariadb.us-mci.ionos.com/v2","description":"United States, Lenexa"},{"url":"https://mariadb.us-ewr.ionos.com/v2","description":"United States, Newark"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"The token can be generated using the \n[Authentication API](https://api.ionos.com/docs/authentication/v1/#tag/tokens/operation/tokensGenerate).\n"}},"parameters":{"paginationOffset":{"name":"offset","in":"query","description":"The first element (of the total list of elements) to include in the response. Use this parameter together with the limit for pagination.","required":false,"schema":{"type":"integer","format":"int32","default":0,"minimum":0}},"paginationLimit":{"name":"limit","in":"query","description":"The maximum number of elements to return. Use this parameter together with the offset for pagination.","required":false,"schema":{"type":"integer","format":"int32","default":100,"minimum":1,"maximum":1000}},"name":{"name":"filter.name","in":"query","description":"The name used to filter clusters. Returns only clusters whose name contains the provided string.","required":false,"schema":{"$ref":"#/components/schemas/MariadbClusterName"}},"state":{"name":"filter.state","in":"query","description":"Filters resources by state. If omitted, returns clusters in all states.","required":false,"schema":{"$ref":"#/components/schemas/MariadbClusterStates"}}},"schemas":{"MariadbClusterName":{"type":"string","description":"The name of your MariaDB cluster.\nMust be 63 characters or less and must begin and end with an alphanumeric character (`[a-z0-9A-Z]`)\nwith dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between.\n","pattern":"^[A-Za-z0-9][-A-Za-z0-9_.]*[A-Za-z0-9]$","minLength":2,"maxLength":63},"MariadbClusterStates":{"description":"The current lifecycle state of the cluster.\n- `PROVISIONING`: The system is actively applying the changes.\n- `AVAILABLE`: The resource is fully operational with no pending changes.\n- `UPDATING`: A modification is in progress.\n- `DESTROYING`: The resource is being deleted.\n- `FAILED`: The provisioning failed due to an internal error.\n","type":"string","enum":["PROVISIONING","AVAILABLE","UPDATING","DESTROYING","FAILED"],"readOnly":true},"ClusterReadList":{"allOf":[{"type":"object","required":["id","type","href"],"properties":{"id":{"description":"ID of the list of Cluster resources.","type":"string","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["collection"]},"href":{"description":"The URL of the list of Cluster resources.","type":"string"},"items":{"description":"The list of Cluster resources.","type":"array","items":{"$ref":"#/components/schemas/ClusterRead"}}}},{"$ref":"#/components/schemas/Pagination"}]},"ClusterRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the Cluster.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["cluster"]},"href":{"description":"The URL of the Cluster.","type":"string"},"metadata":{"$ref":"#/components/schemas/ClusterMetadata"},"properties":{"$ref":"#/components/schemas/Cluster"}}},"ClusterMetadata":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","properties":{"state":{"$ref":"#/components/schemas/MariadbClusterStates"},"statusMessage":{"type":"string","description":"A human-readable message describing the current state. Populated when `state` is `FAILED`.","readOnly":true}}},{"type":"object","properties":{"dnsName":{"type":"string","description":"The DNS name used to access the cluster.","readOnly":true}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"Cluster":{"type":"object","description":"Create, manage, and monitor MariaDB clusters through the IONOS CLOUD API.\n","required":["name","instances","connection","maintenanceWindow","version","backup"],"properties":{"name":{"$ref":"#/components/schemas/MariadbClusterName"},"description":{"$ref":"#/components/schemas/MariadbClusterDescription"},"version":{"$ref":"#/components/schemas/MariadbClusterVersion"},"instances":{"$ref":"#/components/schemas/InstanceConfiguration"},"connection":{"$ref":"#/components/schemas/MariadbClusterConnection"},"maintenanceWindow":{"$ref":"#/components/schemas/MaintenanceWindow"},"credentials":{"$ref":"#/components/schemas/MariadbUser"},"restoreFromBackup":{"$ref":"#/components/schemas/MariadbRestoreClusterFromBackup"},"logsEnabled":{"$ref":"#/components/schemas/LogsEnabled"},"metricsEnabled":{"$ref":"#/components/schemas/MetricsEnabled"},"backup":{"$ref":"#/components/schemas/ClusterBackup"}}},"MariadbClusterDescription":{"type":"string","description":"Human-readable description for the cluster."},"MariadbClusterVersion":{"type":"string","description":"The MariaDB version for the cluster. Use GET /versions to retrieve the\nlist of supported versions. To upgrade, provide a version listed in\ncanUpgradeTo for the current version. Downgrades are not supported.\n"},"InstanceConfiguration":{"type":"object","required":["count","ram","cores","storageSize"],"properties":{"count":{"description":"The total number of instances in the cluster.\nA value of 1 creates a single-instance cluster.\nValues from 2 to 5 create a replicated cluster with one primary and n-1 secondary instances.\n","type":"integer","minimum":1,"maximum":5},"ram":{"$ref":"#/components/schemas/InstancesMemory"},"cores":{"$ref":"#/components/schemas/InstancesCores"},"storageSize":{"$ref":"#/components/schemas/InstancesStorageSize"}}},"InstancesMemory":{"type":"integer","description":"The amount of memory (RAM) per instance in gigabytes (GB). On update, RAM can be increased or decreased.","minimum":4,"maximum":240},"InstancesCores":{"type":"integer","description":"The number of CPU cores per instance. On update, cores can be increased or decreased.","minimum":1,"maximum":62},"InstancesStorageSize":{"type":"integer","description":"The amount of storage per instance in gigabytes (GB).\nOn update, storage size can only be increased; it cannot be reduced.\n","minimum":10,"maximum":4096},"MariadbClusterConnection":{"description":"Connection information of the MariaDB cluster.\n","type":"object","required":["datacenterId","lanId","primaryInstanceAddress"],"properties":{"datacenterId":{"description":"The data center to connect your instance to.","type":"string","format":"uuid"},"lanId":{"description":"The numeric LAN ID to connect your instance to.","type":"string"},"primaryInstanceAddress":{"$ref":"#/components/schemas/MariadbClusterInstanceIp"}}},"MariadbClusterInstanceIp":{"type":"string","description":"Assigns the IP address and netmask to the cluster's primary instance, in CIDR notation.\nNote the following unavailable IP ranges:\n10.208.0.0/12\n10.233.0.0/18\n10.233.64.0/18\n192.168.230.0/24\n"},"MaintenanceWindow":{"description":"A weekly 4 hour-long window, during which maintenance might occur.\n","properties":{"time":{"type":"string","description":"Start of the maintenance window in UTC time."},"dayOfTheWeek":{"$ref":"#/components/schemas/DayOfTheWeek"}},"required":["time","dayOfTheWeek"],"type":"object"},"DayOfTheWeek":{"description":"The name of the week day.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},"MariadbUser":{"type":"object","description":"Credentials for the initial database user to be created.","required":["username","database"],"properties":{"username":{"$ref":"#/components/schemas/MariadbUsername"},"password":{"$ref":"#/components/schemas/MariadbUserPassword"},"database":{"$ref":"#/components/schemas/MariadbDatabaseName"}}},"MariadbUsername":{"type":"string","description":"The username of the initial MariaDB user.\nMust be 16 characters or less and must include only alphanumeric characters (`[A-Za-z0-9_]`)\nand underscores (`_`). Some usernames are reserved for platform use (for example `mariadb`, `admin`, `standby`).\n","pattern":"^[A-Za-z0-9_]+$","minLength":2,"maxLength":16},"MariadbUserPassword":{"type":"string","description":"The password for the initial MariaDB user.\nPassword is required whenever credentials are supplied, on create and on update; never returned in responses.\nMust be between 10 and 256 characters long.\nFor a strong password we recommend that it also meets the following\ncriteria, though these are not enforced:\n- Contains at least one lowercase letter.\n- Contains at least one uppercase letter.\n- Contains at least one digit (0-9).\n- Contains at least one special character from the set: @$!%*?&\n","writeOnly":true,"minLength":10,"maxLength":256},"MariadbDatabaseName":{"type":"string","description":"The name of the initial database to be created.\nMust be 63 characters or less and must include only alphanumeric characters (`[a-z0-9A-Z]`)\nand underscores (`_`).\n","pattern":"^[a-z0-9A-Z_]+$","minLength":2,"maxLength":63},"MariadbRestoreClusterFromBackup":{"type":"object","writeOnly":true,"description":"Restores the cluster from a backup.\nOn cluster creation, set `sourceBackupId` (optionally `recoveryTargetDatetime`) to initialize the new cluster from an existing backup.\nOn in-place modification, set `recoveryTargetDatetime` only; the restore source is inferred from the cluster's own backups. The current data is overwritten with the restored data, and the cluster may experience a brief period of downtime during this process.\n","properties":{"sourceBackupId":{"type":"string","format":"uuid","description":"UUID of the backup to restore from. Required for restore on cluster creation; not valid for in-place restore, where the source is inferred from the cluster's own backups.\n"},"recoveryTargetDatetime":{"type":"string","format":"date-time","description":"Providing this value as an ISO 8601 timestamp causes the system to replay the backups up to the specified time.\nOptional on cluster creation (the backup is applied in its entirety if omitted); required for in-place restore.\n"}}},"LogsEnabled":{"type":"boolean","default":false,"description":"Allows or disallows the collection and reporting of logs for this cluster's observability.\nIf the observability service is not activated on the contract, this setting is accepted but has no effect;\nlog collection will not be enabled until the observability service is activated.\n"},"MetricsEnabled":{"type":"boolean","default":false,"description":"Allows or disallows the collection and reporting of metrics for this cluster's observability.\nIf the observability service is not activated on the contract, this setting is accepted but has no effect;\nmetric collection will not be enabled until the observability service is activated.\n"},"ClusterBackup":{"description":"Configures backup location and retention","type":"object","properties":{"location":{"$ref":"#/components/schemas/BackupLocationName"},"retentionDays":{"$ref":"#/components/schemas/BackupRetentionDays"}},"required":["location","retentionDays"]},"BackupLocationName":{"description":"The Object Storage location where the backup will be created. The BackupLocations provides a list of supported locations.\n","type":"string"},"BackupRetentionDays":{"description":"Configures how many days cluster backups are retained.","type":"integer","minimum":1,"maximum":365},"Pagination":{"required":["offset","limit","_links"],"description":"Pagination information. The offset and limit parameters are used to\nnavigate the list of elements. The _links object contains URLs to\nnavigate the different pages.\n","type":"object","properties":{"offset":{"$ref":"#/components/schemas/Offset"},"limit":{"$ref":"#/components/schemas/Limit"},"_links":{"$ref":"#/components/schemas/Links"}}},"Offset":{"description":"The offset specified in the request (if none was specified, the default\noffset is 0).\n","type":"integer","minimum":0,"readOnly":true},"Limit":{"description":"The limit specified in the request (if none was specified, use the\nendpoint's default pagination limit).\n","type":"integer","minimum":0,"readOnly":true},"Links":{"description":"URLs to navigate the different pages. As of now we always only return a\nsingle page.\n","type":"object","properties":{"prev":{"description":"URL (with offset and limit parameters) of the previous page; only\npresent if offset is greater than 0.\n","type":"string","format":"uri","readOnly":true},"self":{"description":"URL (with offset and limit parameters) of the current page.\n","type":"string","format":"uri","readOnly":true},"next":{"description":"URL (with offset and limit parameters) of the next page; only\npresent if offset + limit is less than the total number of elements.\n","type":"string","format":"uri","readOnly":true}}},"Error":{"description":"The Error object is used to represent an error response from the API.\n","type":"object","properties":{"httpStatus":{"type":"integer","description":"The HTTP status code of the operation."},"messages":{"type":"array","description":"A list of error messages.\n","items":{"type":"object","properties":{"errorCode":{"type":"string","description":"Application internal error code\n"},"message":{"type":"string","description":"A human readable explanation specific to this occurrence of the\nproblem.\n"}}}}}}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"TooManyRequests":{"description":"### Too Many Requests\nThe user has sent too many requests in a given amount of time.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ServiceUnavailable":{"description":"### Service Unavailable\nThe server is currently unable to handle the request due to a temporary overloading or maintenance of the server.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnexpectedError":{"description":"### Unexpected Internal Server Error\nAn unexpected internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/clusters":{"get":{"operationId":"clustersGet","summary":"Retrieve all Clusters","description":"This endpoint enables retrieving all Clusters using\npagination and optional filters.\n","parameters":[{"$ref":"#/components/parameters/paginationOffset"},{"$ref":"#/components/parameters/paginationLimit"},{"$ref":"#/components/parameters/name"},{"$ref":"#/components/parameters/state"}],"tags":["Clusters"],"responses":{"200":{"description":"Returned all requested Clusters successfully.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClusterReadList"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"default":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ionos.com/cloud/api-reference/databases/v2-1/clusters/retrieve-all-clusters.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
