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

# Choose a developer tool

> Choose between the Clumio REST API, Python and Go SDKs, Terraform provider, and automation repositories.

Clumio provides a REST API, Python and Go SDKs, and a Terraform provider. Its MCP repository generates
Terraform configuration for a smaller set of workflows.

## Pick your entry point

| If you want to…                         | Use                    | Start here                                                                      |
| --------------------------------------- | ---------------------- | ------------------------------------------------------------------------------- |
| Script a restore or wire Clumio into CI | **REST API**           | [REST API overview](/developer-tools/rest-api)                                  |
| Write Python against Clumio             | **Python SDK**         | [Python SDK](/developer-tools/python-sdk)                                       |
| Write Go against Clumio                 | **Go SDK**             | [Go SDK](/developer-tools/go-sdk)                                               |
| Manage protection as code               | **Terraform provider** | [Terraform provider](/developer-tools/terraform)                                |
| Onboard hundreds of accounts            | **Bulk onboarding**    | [`bulk_onboarding`](https://github.com/clumio-code/bulk_onboarding)             |
| Run restores at scale                   | **Bulk restore**       | [`bulk_restore`](https://github.com/clumio-code/bulk_restore)                   |
| Back up Kubernetes volumes              | **Velero plugin**      | [`velero_backup_restore`](https://github.com/clumio-code/velero_backup_restore) |
| Generate Terraform from an AI agent     | **MCP example**        | [MCP example](/developer-tools/mcp-server)                                      |

## Get a token first

The REST API, SDKs, and Terraform provider use a long-lived bearer token. Generate one from
**Administration → Access management → API tokens**. See
[Authentication](/developer-tools/authentication) for token types, base URLs, and rotation.

<Note>
  The Terraform provider reads `CLUMIO_API_TOKEN` and `CLUMIO_API_BASE_URL`. The SDKs accept the same
  token and a hostname through their configuration objects.
</Note>

## What the API covers

<CardGroup cols={2}>
  <Card title="Protection" icon="shield">
    Policy definitions, protection groups, protection rules, and the tag-based bindings that enrol
    resources automatically.
  </Card>

  <Card title="Restore" icon="rotate-left">
    Granular restores of objects, tables, files and databases, to the source or any authorised
    account and region.
  </Card>

  <Card title="Discovery" icon="magnifying-glass">
    A machine-readable Discovery API that maps resources to their operation IDs, so clients can walk
    the surface without hardcoding endpoint lists.
  </Card>

  <Card title="Audit and inventory" icon="clipboard-list">
    Assets, tasks, alerts, users, organisational units and compliance reporting.
  </Card>
</CardGroup>

## API conventions

* **Per-resource versioning.** Resources are versioned independently and selected through the
  `Accept` header, so a change to one resource does not force a client-wide upgrade.
* **HAL + HATEOAS responses.** Responses carry links to related resources and valid actions, which is
  how the Discovery API stays accurate without a separate registry.
* **Regional base URLs.** Calls go to the API base URL matching the control plane where the token was
  created. See [Authentication](/developer-tools/authentication) for the values published by the
  Terraform provider.

## Where these live

| Asset                | Repository                                                                                                    |
| -------------------- | ------------------------------------------------------------------------------------------------------------- |
| Terraform provider   | [`clumio-code/terraform-provider-clumio`](https://github.com/clumio-code/terraform-provider-clumio)           |
| AWS bootstrap module | [`clumio-code/terraform-clumio-aws-template`](https://github.com/clumio-code/terraform-clumio-aws-template)   |
| GCP bootstrap module | [`clumio-code/terraform-clumio-gcp-template`](https://github.com/clumio-code/terraform-clumio-gcp-template)   |
| BYOK module          | [`clumio-code/terraform-clumio-byok-template`](https://github.com/clumio-code/terraform-clumio-byok-template) |
| Python SDK           | [`clumio-code/clumio-python-sdk`](https://github.com/clumio-code/clumio-python-sdk)                           |
| Go SDK               | [`clumio-code/clumio-go-sdk`](https://github.com/clumio-code/clumio-go-sdk)                                   |
| Bulk onboarding      | [`clumio-code/bulk_onboarding`](https://github.com/clumio-code/bulk_onboarding)                               |
| Bulk restore         | [`clumio-code/bulk_restore`](https://github.com/clumio-code/bulk_restore)                                     |
| Velero plugin        | [`clumio-code/velero_backup_restore`](https://github.com/clumio-code/velero_backup_restore)                   |
| MCP example          | [`clumio-code/clumio-terraform-mcp`](https://github.com/clumio-code/clumio-terraform-mcp)                     |

<Note>
  [Open an issue](https://github.com/clumio-code) or
  [contact Clumio](https://www.clumio.com/contact-us) about a public tool missing from this index.
</Note>
