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

# Managed Kubernetes Reference

> Provider kinds, API endpoints, and provider-specific option blocks for Ankra-managed cloud Kubernetes (DOKS, UKS, GKE, OVHcloud MKS, AKS, EKS).

Reference material for [Managed Kubernetes](/guides/managed-kubernetes).

***

## Provider kinds

The `{provider}` path segment in every endpoint below is one of:

| Provider kind | Service                                                 | Location field            |
| ------------- | ------------------------------------------------------- | ------------------------- |
| `doks`        | [DigitalOcean Kubernetes](/guides/doks-clusters)        | region                    |
| `uks`         | [UpCloud Managed Kubernetes](/guides/uks-clusters)      | zone                      |
| `gke`         | [Google Kubernetes Engine](/guides/gke-clusters)        | location (zone or region) |
| `ovh_mks`     | [OVHcloud Managed Kubernetes](/guides/ovh-mks-clusters) | region                    |
| `aks`         | [Azure Kubernetes Service](/guides/aks-clusters)        | location                  |
| `eks`         | [Amazon EKS](/guides/eks-clusters)                      | region                    |

<Note>
  The CLI accepts these values via `--provider` (`ovh-mks` and `mks` are accepted as aliases for `ovh_mks`).
</Note>

***

## API Reference

All endpoints are bearer-token authenticated under `/org/clusters/managed/{provider}`.

| Endpoint                                                                  | Method | Description                                                                        |
| ------------------------------------------------------------------------- | ------ | ---------------------------------------------------------------------------------- |
| `/org/clusters/managed/{provider}/options`                                | GET    | Live regions, versions, sizes, plans, and capabilities for a `credential_id`       |
| `/org/clusters/managed/{provider}/discover`                               | GET    | Discover existing clusters at the provider for a `credential_id`                   |
| `/org/clusters/managed/{provider}/preflight`                              | POST   | Run provider preflight checks without creating                                     |
| `/org/clusters/managed/{provider}/import`                                 | POST   | Adopt a discovered cluster into Ankra                                              |
| `/org/clusters/managed/{provider}`                                        | POST   | Create a managed cluster                                                           |
| `/org/clusters/managed/{provider}/{cluster_id}`                           | DELETE | Deprovision a managed cluster (`?force=true` to bypass idle checks)                |
| `/org/clusters/managed/{provider}/{cluster_id}/node-pools`                | GET    | List node pools                                                                    |
| `/org/clusters/managed/{provider}/{cluster_id}/node-pools`                | POST   | Add a node pool                                                                    |
| `/org/clusters/managed/{provider}/{cluster_id}/node-pools/{name}/scale`   | POST   | Scale a node pool to a fixed count                                                 |
| `/org/clusters/managed/{provider}/{cluster_id}/node-pools/{name}`         | PATCH  | Update a node pool (count and/or autoscaling bounds)                               |
| `/org/clusters/managed/{provider}/{cluster_id}/node-pools/{name}`         | DELETE | Delete a node pool                                                                 |
| `/org/clusters/managed/{provider}/{cluster_id}/node-pools/{name}/replace` | POST   | Replace a pool's machine size blue/green (create new pool, wait ready, delete old) |
| `/org/clusters/managed/{provider}/{cluster_id}/upgrades`                  | GET    | List available Kubernetes upgrade targets                                          |
| `/org/clusters/managed/{provider}/{cluster_id}/upgrade`                   | POST   | Upgrade the Kubernetes version                                                     |
| `/org/clusters/managed/{provider}/{cluster_id}/stop`                      | POST   | Stop the cluster (providers advertising `supports_stop_start`; AKS today)          |
| `/org/clusters/managed/{provider}/{cluster_id}/start`                     | POST   | Start a stopped cluster                                                            |

<Note>
  The `ankra cluster managed` CLI covers `create`, `delete`, `node-pool add|scale|update|delete`, `upgrade`, and `stop`/`start`. Live options, discovery, import, preflight, and pool size replacement are portal/API only.
</Note>

Managed node pool machine sizes are immutable at every provider, so changing a pool's size is a **blue/green replacement**: Ankra creates a pool with the new size (copying count, labels, taints, and autoscaling), waits until it is ready, then deletes the old pool. Expect transient double capacity while both pools exist; workloads are rescheduled by Kubernetes when the old pool is removed. Whether a provider supports stop/start is advertised per provider as `supports_stop_start` in the `/options` capabilities.

***

## Provider-specific option blocks

| Provider | Block     | Fields                                                                                                                 |
| -------- | --------- | ---------------------------------------------------------------------------------------------------------------------- |
| DOKS     | top level | `ha` - highly available control plane                                                                                  |
| UKS      | top level | `cluster_plan` (`development` / `production`); GPU pools take `gpu_plan.storage_size`                                  |
| GKE      | `gke`     | `release_channel` (`RAPID`, `REGULAR`, `STABLE`), `mode` (`standard` or `autopilot`)                                   |
| OVH MKS  | `ovh_mks` | `plan` (`free`, `standard`), `private_network_id`, `anti_affinity`, `monthly_billed`, `update_policy`                  |
| AKS      | `aks`     | `resource_group`, `network_plugin` (`azure`, `kubenet`), `private_cluster`, `sku_tier` (`Free`, `Standard`, `Premium`) |
| EKS      | `eks`     | `subnet_ids`, `security_group_ids`, `enable_control_plane_logging`                                                     |
