---
title: "Provision a new cluster"
method: POST
path: "/cluster"
tags: ["cluster"]
---

# Provision a new cluster

`POST /cluster`

Provisions a Cluster by setting up listening interfaces for each node.

## Query parameters

- `data_centers` string
- `cassandra_version` string
- `dse_version` string
- `name` string
- `activity_log` boolean
- `num_tokens` unknown

## Request body

- Cluster
  - `id` integer
  - `name` string, required
  - `data_centers` DataCenter[], required
    - `id` integer
    - `name` string, required
    - `nodes` Node[], required
      - `id` integer
      - `name` string, required
      - `cassandra_version` string
      - `dse_version` string
      - `peer_info` PeerInfo
        - `rack` string
        - `bootstrapped` string
        - `cql_version` string
        - `token` string
        - `graph` boolean
        - `protocol_versions` unknown
    - `cassandra_version` string
    - `dse_version` string
    - `peer_info` PeerInfo
      - `rack` string
      - `bootstrapped` string
      - `cql_version` string
      - `token` string
      - `graph` boolean
      - `protocol_versions` unknown
  - `cassandra_version` string
  - `dse_version` string
  - `peer_info` PeerInfo
    - `rack` string
    - `bootstrapped` string
    - `cql_version` string
    - `token` string
    - `graph` boolean
    - `protocol_versions` unknown

## Response `201`

Created

- Cluster
  - `id` integer
  - `name` string, required
  - `data_centers` DataCenter[], required
    - `id` integer
    - `name` string, required
    - `nodes` Node[], required
      - `id` integer
      - `name` string, required
      - `cassandra_version` string
      - `dse_version` string
      - `peer_info` PeerInfo
        - `rack` string
        - `bootstrapped` string
        - `cql_version` string
        - `token` string
        - `graph` boolean
        - `protocol_versions` unknown
    - `cassandra_version` string
    - `dse_version` string
    - `peer_info` PeerInfo
      - `rack` string
      - `bootstrapped` string
      - `cql_version` string
      - `token` string
      - `graph` boolean
      - `protocol_versions` unknown
  - `cassandra_version` string
  - `dse_version` string
  - `peer_info` PeerInfo
    - `rack` string
    - `bootstrapped` string
    - `cql_version` string
    - `token` string
    - `graph` boolean
    - `protocol_versions` unknown

## Other responses

- `400` — Bad request

## Changes

- **2017-07-20** `8391f382ebf2` — 1 info
  - added the new optional `query` request parameter `num_tokens`
- **2017-06-07** `70e3a0166211` — 1 info
  - added the new optional `query` request parameter `activity_log`
- **2017-05-09** `9f93c90a370b` — 1 info
  - added the new optional `query` request parameter `name`
- **2017-04-24** `f4899ceba1ed` — 2 info
  - added the non-success response with the status `400`
  - removed the non-success response with the status `405`
- **2017-04-21** `2ad5f4da14b6` — 1 warning, 3 info
  - deleted the `query` request parameter `dataCenters`
  - added the new optional `query` request parameter `cassandra_version`
  - added the new optional `query` request parameter `data_centers`
  - added the new optional `query` request parameter `dse_version`

[Full history](https://skmtc.dev/datastax/apis/simulacron-rest-api/changes/cluster/post.md)

---

[API](https://skmtc.dev/datastax/apis/simulacron-rest-api.md) · [All operations](https://skmtc.dev/datastax/apis/simulacron-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/datastax/simulacron-rest-api/revisions/0a5cd5c466d5/schema)
